Клуб API Карт

Помогите разобраться с ошибкой

viborcomp
21 августа 2014, 13:48

Делаю один проект в котором метки добавляются в кластеры и есть меню со списком меток.

 

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

 

Сделал пример http://webmap-blog.ru/files/zadanie-claster/index.html.

 

Проблема, при большом масштабе при клике в меню по названию метки, которой в данный момент нет на карте возникает ошибка.

 

Uncaught TypeError: Cannot read property 'getGlobalPixelCenter' of null 

 

Прошу, пожалуйста, подсказать, что я делаю не правильно.

4 комментария
Подписаться на комментарии к посту
Судя по всему, у части точек (как раз той пачки, которая в Атлантическом океане) неправильные координаты (строки, NaN, что-то такое)
Всеволод Шмыров
21 августа 2014, 16:21
Добрый день.
Спасибо за сообщение. Геообъекты добавленные в кластер удаляются с карты, когда они не в видимой области. Попробуйте вызывать

myGeoObjects[i].balloon.open();
не сразу после установки центра карты, а через некоторое время по setTimeout. К примеру, через 20мс. Мы подумаем, как решить эту проблему.

Надо сначала делать panTo на координаты точки

http://ymapsapi.ya.ru/replies.xml?item_no=892

Поправил код, теперь ошибки нет, но балун открывается только со второго клика по ссылке.

 

Вот фрагмент кода:

myMap.panTo(myGeoObjects[i].geometry.getCoordinates(), {

callback: function () {

myGeoObjects[i].balloon.open();

}

});