Клуб API Карт

Пользовательские маркеры и кластеры для ObjectManager

Пост в архиве.

Добрый день!

Подскажите, пожалуйста, как формировать JSON-описание объектов с пользовательскими маркерами и кластерами для выввода их через ObjectManager?

Версия 2.1.

Спасибо!

8 комментариев
Всеволод Шмыров
27 января 2016, 23:11
Доброе утро. Вручную:) В ObjectManager нет возможности описать кластеры - ObjectManager сам все выполнит. Подобная возможность есть в RemoteObjectManager. Но там нужно формировать ответ на сервере.
Чтобы использовать собственные опции, их достаточно просто перечислить в описании объекта так же, как и в обычных геообъектах. Для упрощения моэно использовать пресет.

Пример:
https://github.com/vsesh/game-map-mc/blob/master/part5/data/placesData.js

(функция setupPreset)
https://github.com/vsesh/game-map-mc/blob/master/part5/script.js
whiterabbitpushkin
27 января 2016, 23:11

Спасибо за ответ!)

whiterabbitpushkin
27 января 2016, 23:11

Подскажи, а какой модуль отвечает за presetStorage?

whiterabbitpushkin
27 января 2016, 23:11

Случайно вставил с пробелом)  Спасибо)

whiterabbitpushkin
27 января 2016, 23:11

У меня еще один вопрос)

В документации ObjectManager, в опциях можно добавлять опции для кластера, список которых можно посмотреть в ClusterPlacemark.

Использую clusterDisableClickZoom, clusterIcons, clusterIconContentLayout. Эти свойства есть есть у ClusterPlacemark, но браузер выдает ошибку:

Cannot read property 'size' of undefined

Подскажите, что я делаю не так?

Ниже привожу код объявления ObjectManager:

objectManager = new ymaps.ObjectManager({

        clusterize: true,

        clusterDisableClickZoom: false,

        clusterIcons: {

            href: './assets/templates/frontend/img/cluster.png',

            size: [70, 70],

            offset: [-35, -35]},

        clusterIconContentLayout: ymaps.templateLayoutFactory.createClass('$[properties.geoObjects.length]')

    });

Опция clusterIcons должна представлять из себя массив

whiterabbitpushkin
27 января 2016, 23:11

Спасибо за ответ)