Как сделать/обработать несколько запросов Google Maps V3 DirectionsRequest? (загрузить прослушиватель?)

У меня есть скрипт, который пытается перебрать небольшой массив объектов Google Maps DirectionsRequest; Мне нужен способ заставить сценарий ждать, пока DirectionsService ответит, чтобы я мог сохранить результат перед выполнением следующего запроса запроса. -Я знаю, что в старой версии можно было настроить что-то вроде следующего:

directions = new GDirections(null, null);
directions.load("from: " + fromAddr + " to: " + toAddr);
GEvent.addListener(directions, "load", function() {...});

но документация v3, похоже, в основном касается прослушивателей событий карты (мне не нужна карта, только данные о направлениях). В версии 3 вы должны установить функцию обратного вызова при вызове метода route(). Есть ли элегантный способ приостановить мой цикл, чтобы он не делал новый запрос запроса до того, как предыдущий получит ответ? -Или у меня нет другого выбора, кроме как создавать новый экземпляр DirectionsService для каждого запроса?

Спасибо за вашу помощь!

Карл


person user509061    schedule 05.12.2010    source источник


Ответы (1)


В этом примере http://code.google.com/apis/maps/documentation/javascript/examples/directions-draggable.html вы увидите следующую строку:

  google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
    computeTotalDistance(directionsDisplay.directions);
  });

Надеюсь, это поможет. Спасибо, что задали этот вопрос, потому что я не знал о таком слушателе.

person Ives.me    schedule 05.12.2010