Здравствуйте. Возникла следующая ситуация: сейчас в проекте есть большое количество геообъектов, кластеризация которых осуществляется без использования api яндекс карт. Объекты, попадающие в отображаемую область карты просто запрашиваются с базы и выводятся как обычные метки без использования кластеризатора яндекс карт. Среди объектов есть объекты типа List, суть которых заключается в том, что это одна единственная метка на карте, содержащая в себе информацию о нескольких геообъектах. Причем, эта метка не включается ни в какой из кластеров и отображается отдельно (например, при максимальном приближении карты). На карту она добавляется как обычный ymaps.GeoObject, при щелчке по которому осуществлятся запрос полных данных о всех геообъектах, относящихся к этой метке. Для вывода информации об этих геообъектах хотелось бы использовать layout 'cluster#balloonTwoColumns' с дополнительной кастомизацией. Кластеры с одним элементом для отображения здесь не используются из-за того, что при изменении bounds на карту добавляются только новые объекты, попадающие в зону видимости. При маленьких значениях zoom кластер не меняется (в него уже собраны все возможные значения и он остается тем же) и из-за этого начинаются проблемы с отображением его на карте - он начинает пропадать, хотя содержится в geoObjects карты и его необходимо перерисовывать.
В обработчике callback'а запроса данных о геообъектах использую следующий код:
function getMarkerObjectsCallback(data, status, placemark) {
if (HandleAjaxResponse(data)) {
...
var geoObjects = $.map(data.result, function(geoObject) {
return new ymaps.GeoObject({
geometry: {
type: "Point",
coordinates: [geoObject.Latitude, geoObject.longitude]
},
properties: {
balloonContentHeader: geoObject.TypeName,
balloonContentBody: geoObject.Address,
balloonContentFooter: 'footer'
}
});
});
placemark.properties.set('geoObjects', geoObjects);
placemark.options.set('balloonLeftColumnLayout', 'cluster#balloonLeftColumn');
placemark.options.set('balloonContentLayout', 'cluster#balloonTwoColumns');
}
}
, где placemark - ссылка на метку на карте, по которой был произведен клик.
Вопросы в следующем:
1) Макет отображается нормально, но левая колонка, задаваемая как 'cluster#balloonLeftColumn' пустая. То есть, там есть итемы, при щелчке по которым меняется информация в правой части, но названий у этих итемов нет. Откуда берутся названия этих итемов? Можно ли как то здать их в properties или в options?
2) Можно ли вообще использовать такой подход при работе с метками - то есть, использовать для меток layout'ы, созданные не для меток и генерируя поля, на которые эти layout'ы ссылаются?