Добрый день! добавляю множество меток на карту чеерез ObjectManager, далее кликаю по одиночному объекту по данным которого должно отрисовываться Polygon, и добавляю в ObjectManager -> в массив объекта который уже выведен на карту. В objects элемент виден, но на карте он не отображается.
var objectTest = {}; // создаю объект для подгрузки его в ObjectManager
objectTest.type = "FeatureCollection";
objectTest.features = [];
for (var i = 0; i < coord.length; i++) {
var objectPoint = {};
objectPoint.type = "Feature";
objectPoint.id = coord[i].id;
objectPoint.geometry = {
"type" : "Point",
"coordinates" : [coord[i].latitude, coord[i].longitude]
};
objectPoint.properties = {
// "clusterCaption": "У меня нестандартный курсор",
"hintContent" : "lac: " + coord[i].lac + " cid: " + coord[i].cid,
"id" : coord[i],
"az" : coord[i].azimut,
"sector" : coord[i].corner,
"length" : coord[i].length,
"lat" : coord[i]['latitude'],
"lon" : coord[i]['longitude'],
"child" : false,
"lac" : coord[i].lac,
"cid" : coord[i].cid
};
objectPoint.options = {
"iconLayout" : "default#imageWithContent",
"iconImageHref" : "image/1.gif",
"iconImageSize" : [30, 42]
};
objectTest.features[i] = objectPoint;
}
console.log(objectTest);
objectManager = new ymaps.ObjectManager({ // создаю менеджер
clusterize : true,
clustergroupByCoordinates : true,
clustermargin : 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,
groupByCoordinates : true,
hideIconOnBalloonOpen : false,
clusterBalloonContentLayout : BalloonContentLayout
});
// ################################################################################################################################
objectManager.add(objectTest); // добавляю объект в ObjectManager
if(myMap.geoObjects.getLength() > 0) {
myMap.geoObjects.removeAll();
myMap.geoObjects.add(objectManager);
} else {myMap.geoObjects.add(objectManager);}
objectManager.objects.events.add('click', function(e) { // навешиваю событие на одиночный объект
console.log(e.get('objectId'));
var objectId = e.get('objectId'),
overlay = objectManager.objects.overlays.getById(objectId);
overlay.add(setCluster.call(e.get('overlay')._data.properties));
console.log('overlay');
console.log(overlay.getData());
objectTest.features.push(setCluster.call(e.get('overlay')._data.properties)); // добавляю объект из функции в объект нанесенный на карте
console.log(objectTest.features);
console.log(objectManager.objects.overlays.getAll());
});
setCluster = function() {
console.log(this.child);
return {
"type": "Feature",
"id": 2,
"options": {"fillColor": "#66ff99", "strokeColor": "#55aa99", "opacity": 0.5},
"properties": {"balloonContent": "Содержимое балуна", "hintContent": "Текст подсказки"},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
55.810156563965364,
37.777862548828125
],
[
55.82635894724889,
37.777862548828125
],
[
55.82635894724889,
37.81837463378906
],
[
55.810156563965364,
37.81837463378906
],
[
55.810156563965364,
37.777862548828125
]
]
]
}
}
};
Вопрос решен, оказалось просто добавить в objectManager.
objectManager.objects.events.add('click', function(e) {
objectManager.add(setCluster());
});
setCluster = function() {
return {
"type": "Feature",
"id": 0,
"options": {"fillColor": "#255F06", "strokeColor": "#255F06", "opacity": 0.5},
"properties": {"balloonContent": "Содержимое балуна", "hintContent": "Текст подсказки"},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
55.801280971180454,
37.552642822265625
],
[
55.81285742969946,
37.518310546875
],
[
55.8367712028016,
37.540283203125
],
[
55.80784138701898,
37.57118225097656
],
[
55.801280971180454,
37.552642822265625
]
]
]
}
}
};
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Начал знакомство с JSМне необходимо закрывать блок по клику на крестик
Я пытаюсь установить проект с помощью Gatsby, но получаю ошибкиИ так со всеми проектами из официального репозитория