Клуб API Карт

Синхронизировать обработчик YMaps.Router().Events.Success

dg91-vrn
16 января 2012, 17:38

Подскажите. пожалуйста, как синхронизировать выход из функции и обработчик события YMaps.Router().Events.Success?

Вот мой код:

 // Тестовая функция
function test( addresses )
 {

var addrCount = addresses.length;

var route = new YMaps.Router([addresses[0], addresses[1]]

var  routeDistance = 0;

YMaps.Events.observe(route, route.Events.Success, function(distancesMatr) {

map.addOverlay(route);

routeDistance = route.getRoute(0).getDistance(
 
alert(routeDistance); 
}

return  routeDistance;
}

  

Хотел бы, чтобы функция возвращала  routeDistance. Но, к сожалению, она возвращает 0, и только потом выскакивает алерт с верным значением длины маршрута.

Как вернуть длину маршрута? 

Заранее спасибо 

1 комментарий
Подписаться на комментарии к посту

получение маршрута это запрос на сервер Яндекса,

а значит асинхронный процесс и результат можно получить только после того как сработает обработчик route.Events.Success