Добрый день! Существует трудность, добавляю Placemarks на карту, на каждый Placemark навешано событие click, через кластеризатор, точки с одинаковыми координатами кластеризуются, создан макет балуна, в балун выводиться id метки, по клику на строчку в балуне хочу инициировать событие навешанное на Placemark состоящее в кластере. Не могу получить ссылку на точку в кластере.
BalloonContentLayout = ymaps.templateLayoutFactory.createClass(
'<ul class=list>' +
'{% for geoObject in properties.geoObjects %}' +
'<li id="{{geoObject.properties.lac}}{{geoObject.properties.cid}}"></li>' +
'{% endfor %}' +
'</ul>', {
build : function() {
BalloonContentLayout.superclass.build.call(this);
geoObjects = this.getData().properties.get('geoObjects');
var fielsObjects = {};
for (var i = 0; i < geoObjects.length; i++) {
var element = document.getElementById(geoObjects[i].properties._data.lac+geoObjects[i].properties._data.cid);
element.onclick = getSectorClaster;
element.innerHTML = geoObjects[i].properties._data.hintContent;
}
},
clear : function() {
this.getElement().innerHTML = '';
BalloonContentLayout.superclass.clear.call(this);
}
});
clusterer = new ymaps.Clusterer({
groupByCoordinates : false,
margin : 0,
clusterIcons : [{
href : 'image/1.gif',
size : [40, 40],
offset : [-20, -20]
}, {
href : 'image/1.gif',
size : [60, 60],
offset : [-30, -30]
}],
clusterDisableClickZoom : true,
clusterOpenBalloonOnClick : true,
clusterBalloonPanelMaxMapArea : 0,
clusterBalloonContentLayout : BalloonContentLayout,
hideIconOnBalloonOpen: false
});
getPointData = function(iCoord) {
return {
id : iCoord.operator,
az : iCoord.azimut,
sector : iCoord.corner,
length : iCoord.length,
lat : iCoord['latitude'],
lon : iCoord['longitude'],
child : false,
lac : iCoord.lac,
cid : iCoord.cid,
hintContent : "lac: " + iCoord.lac + " cid: " + iCoord.cid,
// clusterCaption: 'метка <strong>' + iCoord.cid + '</strong>'
};
};
getPointOptions = function() {
return {
iconLayout : 'default#image',
iconImageHref : 'image/1.gif',
iconImageSize : [20, 40]
};
};
getSector = function(e) {
if (!e.get('target').properties.get('child')) {
var sector = getAreaCoord([e.get('target').properties.get('lat'), e.get('target').properties.get('lon')], e.get('target').properties.get('az'), e.get('target').properties.get('sector'), e.get('target').properties.get('length'));
var triangle = new ymaps.Polygon([[[e.get('target').properties.get('lat'), e.get('target').properties.get('lon')], sector.point2, sector.point3]], {
id : e.get('target').properties.get('lac') + e.get('target').properties.get('cid'),
hintContent : "az: " + e.get('target').properties.get('az') + " sec: " + e.get('target').properties.get('sector') + " len: " + e.get('target').properties.get('length')
}, { });
console.log(triangle + " triangle ");
console.log(e.get('target') + " placemark ");
triangle.setParent(e.get('target'));
e.get('target').properties.set('child', true);
(e.get('target').getParent()).getParent().add(triangle);
} else {
(e.get('target').getParent()).getParent().each(function(item, i) {
if (item.properties != undefined) {
if (item.properties._data.id === (e.get('target').properties.get('lac') + e.get('target').properties.get('cid'))) {
item.getParent().remove(item);
e.get('target').properties.set('child', false);
}
}
});
}
};
getSectorClaster = function () {
console.log(this.id);
var cluster = objectManager.clusters.balloon.getData();
console.log(cluster);
};
geoObjects = [];
for (var i = 0; i < coord.length; i++) {
geoObjects[i] = new ymaps.Placemark([coord[i]['latitude'], coord[i]['longitude']], getPointData(coord[i]), getPointOptions());
geoObjects[i].events.add('click', function(e) {
getSector(e)
});
}
clusterer.add(geoObjects);
this.add(clusterer);
myMap.geoObjects.add(this);
clusterer.events.add('balloonopen', function(e) {
console.log(e.get('cluster').properties);
console.log(e.get('Placemark').properties);
// baloonContentData = e.get('cluster').properties;
Виртуальный выделенный сервер (VDS) становится отличным выбором
Доброго времени, тестирую скрипт в сафари:
Не отправляется прикрепляемый файлС форм данные приходят, но только не сам файл
Добрый день, хочу спросить, почему здесь в переменной if_2 выражения
Здравствуйте, как сделать loader на сайте? Отправляется запрос через AJAX, далее пока грузит вывод, показываем loader, ну типа картинка загрузкиНе...