Добрый день.
Подскажите как выбрать более короткий маршрут?
Есть массив "съездов с МКАД"
rajons[0] = [
"Балашихинский район",
[
[55.81386,37.83981,"по Щелковскому шоссе"],
[55.77696,37.84325,"по Горьковскому шоссе"],
[55.74401,37.84233,"по Носовихинскому шоссе"]
]
];
пользователь вводит адрес (в $(".adress").val()) и должен получить короткий маршрут от МКАДА
var min=10000000; var r=0; var s=0;
for(var i = 0; i < rajons.length; i++){
for(var j = 0; j < rajons[i][1].length; j++){
var router = new YMaps.Router([new YMaps.GeoPoint(rajons[i][1][j][1],rajons[i][1][j][ 0]), "Московская область "+$(".adress").val()], {avoidTrafficJams: true});
//alert('!!!');
YMaps.Events.observe(router, router.Events.Success, function () {
map.addOverlay(router);
if (router.getDistance() != undefined){
console.log(router.getDistance());
if (router.getDistance() < min){ min = router.getDistance(); r = i; s = j; };
}
});
};
};
проблема в том что циклы быстро обходят массив и видимо ответ не получает от Yandex, соответственно дистанция не меняется.
По одному маршруту все работает.
Возможно ли как то приостановить выполнение скрипта до получения ответа от Yandex?
Или как кто по другому?