objectManager.objects.events.add('balloonopen', function (e) {
console.log("Открыт балун вне кластера");
var id = e.get('objectId'),
geoObject = objectManager.objects.getById(id);
downloadContent([geoObject], id);
});
objectManager.clusters.events.add('balloonopen', function (e) {
var id = e.get('objectId'),
cluster = objectManager.clusters.getById(id),
geoObjects = cluster.properties.geoObjects;
console.log("Открыт балун из кластера..");
downloadContent(geoObjects, id, true);
});
....
function downloadContent(obj,id,isCluster){
console.log("Загружаем объект:");
aids = obj.map(function (geoObject) {return geoObject.id;});
if ((obj.length)<200) {
$("#global").addClass("loading");
$.post("?r=inications/get_points_content", {
ids:aids,
}).done(function(data) {
obj.forEach(function (geoObject) {
//console.log("--присваиваем новое тело балуна");
if (geoObject.properties.balloonContentBody.includes("<l></l>")){
//console.log("-подменяю содержимое балуна!");
//console.log(geoObject);
geoObject.properties.balloonContentBody =geoObject.properties.balloonContentBody.replace("<l></l>",data.result[geoObject.id].content);
if (isCluster!==true){
objectManager.objects.balloon.setData(objectManager.objects.balloon.getData());
} else {
objectManager.clusters.balloon.setData(objectManager.clusters.balloon.getData());
};
//setNewData();
}
});
$("#global").removeClass("loading");
});
} else {
ToastMessage("error","Кластер слишком велик","Кластер слишком велик для того чтобы его раскрыть. Увеличьте масштаб и попробуйте снова!",6000);
};
}