Клуб API Карт

Клик по геообъекту

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

У меня есть карта с объектами в несколько десяток, объединенных в кластеры.

При создании объекта использовалась опция:

balloonContentBody: 'text'

 

Мне необходимо при клике на объекте не открывать балун объекта, а делать определенные действия, но когда я кликаю на названии объекта в балуне кластера информация text отображалась.

 

Обработчик по клику нашел:

placemarks[j].events.add('click', function(e){ 
alert("");
});

 

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

 

 Спасибо

4 комментария

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

Либо можно добавитьопцию hasBalloon: false


hasBalloon
BooleanОпределяет наличие поля balloon у геообъекта.

Значение по умолчанию: true

 

Лучше повесить один обработчик на кластеризатор:

myClusterer.events.add('click', function (e) {

    console.log(e.get('target')); // объект на котором кликнули

});

 

Я присваиваю полю balloonContentBody свой текст, для того что бы он отображался в балуне кластера.

При создании объект а использовал опцию hasBalloon: false :

placemarks[i] = new ymaps.Placemark(mycoor, {
  hasBalloon: false,
  id: myid,
  clusterCaption: mycap,
  hintContent: myhint,
  balloonContentBody: mybody,
  },  {}
);

 

Но все равно открывается!

 

 

С кликом разобрался, спасибо 

 

 

 

опции это второй параметр в конструкторе, а не первый

надо перенести hasBaloon: false сюда

 {}
);

 Все получилось, спасибо!

Я нашел этот параметр, только не понял куда его применить, а теперь с подсказки все получилось!