Клуб API Карт

ObjectManager, содержимое макета кластера

denis.ezhkov
6 сентября 2016, 17:02

Здравствуйте. 

Не могу разобраться, как задать содержимое макета кластера на основе информации входящих в него точек.

Все примеры, которые нашел, используют Clusterer и перекрытие некоторых методов. В моем случае я использую ObjectManager, clusterize:true и геообъекты вида 

{
  type: 'Feature',
  id: 123,
  geometry: {
    type: 'Point',
    coordinates: coords
  },
  properties: {
    iconContent: 123,
  },
  options: {
    iconLayout: pointLayout,
  }
}

На основе iconContent геообъектов, входящих в кластер, мне нужно формировать содержимое иконки кластера. Как это правильно сделать?

Спасибо

7 комментариев
Можно посмотреть как сделано в модуле PieChart
https://github.com/yandex/ymaps-pie-chart-clusterer/tree/layout
dimik,
именно этот пример я и искал) Спасибо большое!
dimik,
Замечательная штука. Встречал еще в старой версии. Но иконки замыленые получаются. Я посмотрел - реальная картинка диаграммы в два раза больше. А.. а зачем сжимать? 0_о
ostgals,
Иконка рисуется на Canvas, никакой картинки там нет и ничего не сжимается. Недавно этот модуль интегрировали в АПИ
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.PieChart-docpage/
dimik,
это здорово. Попробовал пример - работает с метками.
Но я с ходу не смог заставить работать это с ObjectManager и кластеризатором. Упорно используется дефолтный iconLayout.


http://jsfiddle.net/s61ycshk/1/


Отбой. Нашел в чем дело. Спасибо! :)
Обновлено 14 января 2017, 22:00
Михаил Лагутин
18 марта, 23:42
ostgals,
Подскажите в чем оказалась проблема, пожалуйста)
Михаил Лагутин,
Это было больше года назад )


Короче, в своем примере я просто неправильно написал имя свойства - надо было clusterIconLayout, а не clustererIconLayout (исправленный тогда вариант фидла: http://jsfiddle.net/s61ycshk/2/ )


Но на самом деле, с тех пор уже многое изменилось в доках и там есть готовый вариант (немного другой по исполнению): https://tech.yandex.ru/maps/jsbox/2.1/clusterer_pie_chart 
Обновлено 19 марта, 10:17