Клуб API Карт

Содержимое balloon для кластеров, RemoteObjectManager

Andrey
19 ноября 2014, 17:36

Какие ключи необходимо передать в JSON-ответе для кластера, чтобы определить содержимое balloon при загрузке данных через RemoteObjectManager?

 

Пример ответа сервера:

 

{
    "bbox":[[37.5306525,54.9671232],[37.5326198,54.9677776]],
    "geometry":{
        "coordinates":[37.53159698333333,54.967437183333324],
        "type":"Point"
    },
    "id":1754,
    "number":6,
    "options":{
        "preset":"islands#redClusterIcons"
    },
    "type":"Cluster"
},

 

Попытки добавить properties.balloonContent и т.п. ни к чему не приводят - при клике на кластер открывается пустой балун.

8 комментариев

Чтобы в балуне показывались какие-то данные, нужно передать в кластере массив геообъектов, которые в него входят. Массив объектов передается через поле features https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/RemoteObjectManager-docpage/ (в документации это вскользь упоминается, напишем подробнее).

Правильно будет загружать данные для кластера в указанном вами формате, а при клике дозагружать и дозаписывать массив geoObjects в кластер, приблизительно как в примере https://tech.yandex.ru/maps/jsbox/2.1/object_manager_balloon_async

Спасибо! 

Эта прекрасная инструкция отлично работает, только для конечных точек objectManager.objects. А вот такой же инструкции для objectManager.clusters очень очень не хватает.

 

По всему клубу много инструкций как бороться с кластерами, но они старые - в основном от 2012 года, а ничего свежего для новой версии API нет.

 

Было бы отлично, если получится добавить в Песочницу пример для загрузки данных балуна кластера и подгружать при выборе другого объекта кластера.

 

Заранее спасибо!

Да, вы правы, подготовка соответствующего примера уже в процессе

Не люблю заниматься некрофилией, но где? где обещанный пример? В песочнице его вроде нет.

Всеволод Шмыров
23 ноября 2015, 16:28

Добрый день. Пока примера нет. Как только подготовим, так сразу выспустим анонс.

Пока, к сожалению, ничего более конкретного сказать не могу.

А можно как-то посодействовать с добавлением примеров в песочницу? Я бы с удовольствием выложил некотоыре решения проблем, с которым сталкивался. Вы не думали сделать ее открытой ?

mari-na-bzzz,
>> Массив объектов передается через поле features
>> https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/RemoteObjectManager-docpage/
>> (в документации это вскользь упоминается, напишем подробнее).
спасибо, что даете неправильные ответы
мне как раз очень хотелось в пустую потратить полдня своей жизни, чтоб копаться в исходниках апи карт :(

оказывается у RemoteObjectManager поле features кластера абсолютно бесполезное
вместо него надо указывать geoObjects в properties
например,
{
type: 'Cluster',
id: ...,
bbox: ...,
geometry: ...,
number: 1,
// features: [...]
properties: {
geoObjects: [{
id: ...,
type: 'Feature',
geometry: {type: 'Point', coordinates: [...]},
properties: {
clusterCaption: 'бла бла',
balloonContentBody: 'бла бла бла бла',
balloonContentFooter: 'бла бла бла'
}
}]
}
}