Клуб API Карт

вопрос

d.pashkevich
20 апреля 2012, 14:49

При большом кол-ве маркеров...

 

Так не работает:

cluster.add(marker_array);

map.geoObjects.add(cluster);

marker_array[some_id].balloon.open(

 

 

Так работает:

cluster.add(marker_array);

map.geoObjects.add(cluster);

setTimeout(function () { marker_array[some_id].balloon.open()  }, 1000);

 

Видимо add - асинхронная функция? каким образом можно отследить окончание размещения меток на карте, чтобы сразу вызвать открытие нужного балуна?

 

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

Узкое место при кластеризации объектов - это добавление их на карту. Для того, чтобы добавление меток не вешало браузер, кластеры добавляются пачками по таймауту.

 

Сейчас нет удобного способа узнать, когда закончилось добавление. Мы обязательно сделаем событие, которое будет оповещать об окончании добавления объектов.

а есть возможность задать для Placemark, что ее надо разместить уже с открытым балуном?

в целом задача состоит в том, чтобы вывести 2000 меток на карту и у заданной метки открыть балун...  

Если интересует одна конкретная метка, то можно слушать на ней событие 'mapchange' и по нему открывать балун.

попробую.. спасибо )