Клуб API Карт

Получить кластер в котором находится метка.

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

Здравствуйте. Нужна помощь со следующей проблемой. 

У меня есть массив с placemark'ами и мне надо по нажатию на кнопку открывать baloon определенного placemark'а. 

Если placemark без кластера, то все решается простым placemark.balloon.open(). А если в кластере, то ничего не происходит и в консоль выпадает ошибка: 

  Uncaught TypeError: Cannot read property 'getGlobalPixelCenter' of null

Можно ли как то определить находиться ли метка в данный момент в кластере и если да, то получить этот кластер?

2 комментария
Всеволод Шмыров
28 января 2016, 00:01
Доброе утро! Можно при помощи метода getObjectState
http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/Clusterer.xml#getObjectState
Если у вас используется стандартный макет балуна кластера, то можно использовать поле "activeObject" в state. Это поле используется, чтобы сохранять ранее выбранный геообъект в кластере. Но его можно задавать извне, чтобы при открытии балуна кластера уже была открыта информация о конкретном геообъекте.
http://api.yandex.ru/maps/jsbox/2.1/cluster_balloon_twoColumns_21

Как-то так

clusterer.getObjectState(geoObject).cluster.state.set('activeObject', geoObject);

Спасибо. Получилось.

Просто не знал, где искать. Думал, что у placemark'а есть ссылка на кластер