Задача такая: имеется массив адресов (размер массива может быть разным), надо отобразить на карте маршрут (более-менее) оптимального проезда по этим адресам. Возможно ли такое реализовать?
По идее, для этого нужно в цикле создавать YMaps.Router с двумя адресами, брать их протяженности, а дальше сравнивать...
Пробовал делать примерно так:
for (var i=0; i<adresses.length; i++) {
var distances = new Array(
for (var j=i+1; j<adresses.length; j++) {
if (i!=j) {
var routerTemp = new YMaps.Router(
[adresses[i], adresses[j]],[]
distances[j-1] = routerTemp.getDistance(
}
}
}
Однако в этом случае элементы массива distances получаются unassigned. Я так понял, это потому, что getDistance можно делать только в YMaps.Events.observe для соответствующего маршрутизатора. Но как это сделать, когда колличество маршрутизаторов может быть разным? Посоветуйте, пожалуйста, как лучше всего сделать в таком случае.