Клуб API Карт

Выполнить функцию после загрузки карты

Пост в архиве.

Нужно выполнить функцию, тогда, когда карта уже поностью загрузилась, все метки и данные через геокодер были получены.


Как для этого её нужно описать? Если просто после описания карты, то она тогда начинает выполняться одновременно с загрузкой карты.

4 комментария
После вызова setCenter() и добавления меток на карту можно вызвать Вашу функцию.
Учтите, что геокодирование - это асинхронный процесс и необходимо слушать соответствующие события.

Расскажите поподробнее что Вы хотите сделать.
Благодарю за ответ. Мне нужно выполнить мою функцию после того как будет получен ответ от всех геокодеров. Как я понял, нужно делать что то вроде такого: var all = 10; // Сколько всего запросов к геокодеру YMaps.Events.observe(geocoder, geocoder.Events.Load, function () { col++; // Количество ответивших "геокодеров" if (col==all) my_func(); });
Да, такое решение подойдет.

А может заранее геокодировать объекты и закэшировать полученные координаты?
Координаты кешируются, но в процессе. Запросы делаются только к новым адресам.