Клуб API Карт

Название кластера

Кадыров Роберт
16 августа 2013, 16:13

Лично сам сомневаюсь в возможности реализации, но можно ли в "середине" кластера выводить не внутреннее количество, а название, например: СВАО?

10 комментариев
Подписаться на комментарии к посту

Если Вы создаете свой макет иконки кластера, то сами решаете что в ней выводить.

Кадыров Роберт
16 августа 2013, 17:42

Описание создания не найдется случаем?

var clusterer = new ymaps.Clusterer({

    clusterIconContentLayout: ymaps.templateLayoutFactory.createClass('Я!')

});

Кадыров Роберт
16 августа 2013, 23:35

Спасибо  

Момент немаловажный: как сделать эти кластеры разноименные, имея на входе группы меток, названия группы (так можно будет организовать CMS)? 

Что-то мне подсказывает, что это работа по слоям, я прав?

 

 www.ufacams.ru/test 

Не знаю причем тут слои...

Сейчас там написано чтото вроде 

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

Если Вы чтото свое там хотите выводить, Вам надо перекрыть метод createCluster у кластеризатора и формировать свое поле в данных на основании данных входящих в кластер меток, ну и плюс передать в опциях свой макет, выводящий это свойство:

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

а не подскажете, как обновить только 1 конкретный кластер?

У меня в названии кластера отображается количество объектов с определенным свойством (просмотренные).

Сейчас приходится вызывать метод refresh() кластеризатора, а нужно только у текущего кластера обновить надпись в соответствии с clusterIconContentLayout.

Насколько я понимаю, функция пересчета свойств отдельного кластера вызывается при пересоздании этого кластера, и никак её вызвать отдельно нельзя?

Если что, кривенький пример кода доступен здесь  http://jsfiddle.net/YNVE2/24/ 

Вам надо самому обновить соответствующее поле в данных кластера, которое выводится в макете. Шаблоны не поддерживают арифметические операции типа деления. Нужно присваивать в данные уже конечную цифру

Очень жаль, что нельзя вызвать внутренний метод, чтобы он сам всё посчитал..

Пришлось сделать так http://jsfiddle.net/YNVE2/36/ (строки 33-35)

А по поводу "арифметические операции типа деления" - там не деление, а вывод через слэш "всего/просмотрено"

Показ просмотренных меток это кастомная логика твоего приложения.

Странно если в АПИ будут какие-то специальные внутренние методы для этого.

Я не критикую, просто в АПИ карт так много всего полезного и удобного, что привыкаешь к этому, и иногда думаешь, что оно вообще всё умеет само.

Спасибо огромное за ответы!