yandex map api балун кластера, событие выбора и отображения контента балуна для конкретной точки кластера
мне необходима реакция на смену пользователем точки на балуне кластера.
objectManager.clusters.events.add('balloonopen', function (e) {
var item = e.get('target');
});
или
objectManager.objects.balloon.events.add('open', function (e) {
var item = e.get('target');
});
срабатывает ожидаемо только один раз на открытие всего балуна
objectManager.clusters.balloon.events.add('click', function (e) {
var item = e.get('target');
});
как вариант, но срабатывает при клике в любом месте балуна, тоже ожидаемо, к тому же непонятно как "взять" ид точки кластера, для которой сейчас отображен контент
objectManager.Balloon приведены события, click там нет, потому смею предположить наличие чтонибудь типа selectionchanged
таки есть ли событие у балуна кластера, которое отправляется при смене пользователем точки из списка кластера?
Ответы (1 шт):
Поскольку вы не привели примера кода, считаю что речь о примере из песочницы Яндекс: https://yandex.ru/dev/maps/jsbox/2.1/clusterer_balloon_open
В таком случае вам достаточно добавить прослушивание клика на балуне с определением активной метки и определять не объект, которому принадлежит та или иная часть балуна, а активный объект, для которого этот балун отображается:
clusterer.balloon.events.add('click', function (e) {
console.log(objectState.cluster.state.get('activeObject'))
});