Доброго времени суток.
Точки на карту добавляются с помощью objectManager путем добавления featureCollection:
// Создаем менеджер объектов var objectManager = new ymaps.ObjectManager({ clusterize: true, gridSize: 32, clusterDisableClickZoom: true, clusterOpenBalloonOnClick: false, geoObjectOpenBalloonOnClick: false }); // Добавим менеджер объектов для карты myMap.geoObjects.add(objectManager);
Данные для балуна точки подгружаются через ajax.
Пытаюсь реализовать динамическую загрузку данных для балуна кластера, по аналогии c Яндекс.Недвижимость.
Данные загружаются, в свойство cluster.properties.balloonContent записываются, но не отображаются: балун кластера выглядит в виде двух колонок с пустым балуном точек:
objectManager.clusters.events.add('click', function (e) { var clusterId = e.get('objectId'); console.log('clusterId', clusterId); if (hasBalloonData(clusterId, 'cluster')) { objectManager.clusters.balloon.open(clusterId); } else { var cluster = objectManager.clusters.getById(clusterId); console.log('!hasBalloonData', cluster); var geoObjects = cluster.properties.geoObjects; console.log(geoObjects); var ids = jQuery.map(geoObjects, function (obj) { console.log('geoObject obj', obj); return obj.id; }); console.log('ids', ids); cluster.properties.balloonContent = 'Идет загрузка'; objectManager.clusters.balloon.open(clusterId); $.get(url, {id: ids.join(',')}, function (data) { console.log('list-map data', data); cluster.properties.balloonContent = data; objectManager.clusters.balloon.setData(cluster); }) .fail(function (data) { console.log('При получении информации о объектах кластера произошла ошибка.', data); }); } });
Подскажите, что я делаю не так ?