здравствуйте,
Подскажите пожалуйста как получить атрибуты точки или точек в кластере по событию?
Мой код создает карту и кластеризатор, берет массив координат, создает из них точки с параметром ID, отображает кластером на карте
Открытие дефолтного балуна отключено, нужно по клику в точку или кластер получать его / их ID и обрабатывать (динамически подгружать фотографии) внутри другого div (под картой)
ymaps.ready(init);
var myMap;
var myPlacemark;
function init () {
myMap = new ymaps.Map('ymap', {
center: [40, 60],
zoom: 3,
type: "yandex#map"
});
myMap.controls.add("zoomControl");
// http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/geoobjects.xml#clusters
var clusterer = new ymaps.Clusterer({
clusterDisableClickZoom: true,
gridSize: 100,
openBalloonOnClick: false,
balloonWidth: 300,
balloonHeight: 200,
balloonSidebarWidth: 100
});
placemarks = [];
placemarks[57] = [41.903051,12.495799];
placemarks[58] = [41.38558,2.16874];
placemarks[59] = [51.50632,-0.127139];
var MyPlacemarks = [];
for ( key in placemarks ) {
MyPlacemarks.push(
new ymaps.Placemark(
placemarks[key],
{
content: key,
balloonContent: 'ID ' + key,
clusterCaption: 'Caption ' + key
}
)
);
}
myMap.geoObjects.add(clusterer);
clusterer.add(MyPlacemarks);
}
Нашел на просторах интернета 2 похожих куска кода, но не пойму как их допилить до нужного состояния - путаюсь с наследованием.
Как подняться от триггера ивента к объекту и получить его свойства? проблема усугубляется тем, что это может быть кластер в котором много объектов и надо получить свойства ID для них всех.
clusterer.events.add(
'balloonopen',
function (e) {
console.log(e.get('target').content ? e.get('target').content : e.get('target').state.get
}
)
а также
clusterer.events.add(['click', 'balloonopen'], function (e) {
var object = e.get('target');
if (typeof object.getGeoObjects != 'undefined') {
// по наличию метода getGeoObject определяем, что это кластер
console.log (clusterer);
} else {
console.log (e.get('target'));
}
});
Очень надеюсь на отзывчивость сообщества.
либо вообще как-то подругому надо - уже всю голову сломал :(