Это случай RTFM.
Тот факт, что вы используете MQ.routing.directions
в своем коде, говорит мне, что вы используете плагин маршрутизации Mapquest для Leaflet , который имеет полную документацию API .
Читая эту документацию API, можно заметить событие success
, я цитирую:
success
Запускается, когда данные маршрута были получены с сервера, а shapePoints распакованы. [...]
У меня есть серьезное подозрение, что вам не нужно знать, когда маршрут отображается (имеется в виду, когда линии были отображены на экране), а когда запрашивает сеть для маршрут закончен (что занимает больше всего времени). Время фактического рендеринга линий на экране обычно ничтожно, если только вы не работаете с тысячами сегментов (после автоматического упрощения Дугласа-Пикера).
У меня также есть серьезное подозрение, что это XY проблема , и что основная проблема, которую вы пытаетесь решить, это условия гонки, когда пользователь (повторно) запрашивает маршруты слишком быстро, чтобы решение которого просто душит запросы, а не блокирует пользовательский интерфейс.
Как использовать это success
событие, проиллюстрировано в MapQuest's Пример описания маршрута :
dir = MQ.routing.directions();
dir.on('success', function(data) {
// ...
// the code here will run once the route is ready
// ...
}