API 2.0
Пытаюсь перехватить события маркеров кластера при клике и даблклике.
В итоге - когда кластер при зуме распадается на отдельные точки - на этих точках перехват работает (балун не открывается, срабатывает алерт).
Когда маркер кластера "групповой" - перехват не работает. Открывается балун. И срабатывает алерт. (((
var myMap;
var clusterer;
var PointArray = [];
ymaps.ready(init);
function init(){
myMap = new ymaps.Map ("map", {
center: [47.096022, 37.548734],
zoom: 12
},{ minZoom:8,
maxZoom:18
});
myMap.controls.add('zoomControl', { left: 5, top: 5 });
myMap.behaviors.enable('scrollZoom');
myMap.behaviors.disable('dblClickZoom');
clusterer = new ymaps.Clusterer({clusterDisableClickZoom: true, synchAdd: true});
clusterer.events.add('dblclick', function (e) {
e.preventDefault();
alert('clusterer dblclick');
});
clusterer.events.add('click', function (e) {
e.preventDefault();
alert('clusterer click');
});
addToPointArray(47.091, 37.541, 'twirl#redIcon', 'id1', 'text1');
addToPointArray(47.093, 37.543, 'twirl#redIcon', 'id2', 'text2');
addToPointArray(47.095, 37.545, 'twirl#redIcon', 'id2', 'text2');
drawCluster('twirl#blueIcon');
}
function addToPointArray(CoordX, CoordY, IStyle, ID, Text){
point = new ymaps.GeoObject({
geometry: {type: "Point", coordinates: [CoordX, CoordY]},
properties: {
clusterCaption: ID,
balloonContentBody: Text,
balloonContentHeader: ID,
//balloonContentFooter: "Подвал",
hintContent: ID
}
},{
preset: IStyle
});
point.events.add('click', function (e) {
//e.preventDefault();
});
point.events.add('dblclick', function (e) {
//e.preventDefault();
});
PointArray.push(point);
}
function drawCluster(CStyle){
clusterer.options.set('preset',CStyle);
clusterer.add(PointArray);
myMap.geoObjects.add(clusterer);
}
Пример - здесь: