Клуб API Карт

Динамическое изменение свойств кластеров в ObjectManager

krasnov@rirubro.ru
12 октября 2016, 15:38

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

Имеется ObjectManager, добавленный на карту с описанными в нем объектами. Включена кластеризация. Как можно установить hintContent для каждого отдельно сгенерированного кластера? Текст хинта для всех кластеров разный.

Спасибо.

11 комментариев
Подписаться на комментарии к посту
Через коллекцию objectManager.clusters
Окей. В этой коллекции есть методы setClusterProperties и setClusterOptions, принимающие 2 аргумента, судя по тому, что я вижу в дебагере (function(e, t)). Что это за аргументы - не понятно. Попытался найти что-нибудь об этих методах в документации, но честное слово... либо я НАСТОЛЬКО глуп и слеп, либо она составлена настолько отвратительно... Если можно - ссылку на эти методы. А то у меня уже голова кругом от нее.
Нашел следующее:
https://tech.yandex.ru/maps/doc/jsapi/2.1/ref/reference/objectManager.ClusterCollection-docpage/#setClusterOptions

Интересно, что о методе setClusterProperties здесь вообще ни слова. Так и должно быть?
Идем дальше.
{objectManager.ObjectCollection} setClusterOptions(objectId, options)
В методе 2 обязательных параметра. Тут же видим ниже пример:
objectManager.clusters.setClusterOptions({
    preset: 'islands#redClusterIcons'
});
Где, черт возьми, тут обязательный аргумент objectId? У какого кластера изменятся опции? Почему после прочтения мануалов у меня становится все больше вопросов а не наоборот? Что происходит в этих доках?
Простите, уже накипает...
Тут хоть кто-нибудь кроме dimik'а живет вообще? А то у него по ходу лимит - 1 ответ на 1 пост
krasnov@rirubro.ru,
Видимо никто не хочет разбираться за вас, потому что "плохая документация" – аргумент для ленивых.
Чтобы у вас окончательно не закружилась голова, или вы не закипели, я лучше сразу вам код напишу, тем более вы уже превысили мой лимит. Будьте здоровы
dimik,
Ок, огромное спасибо. Исчерпывающий ответ.
А насчет доков - серьезно. Это самое уродливое, что я видел на свете. Будут комментарии насчет методов setClusterOptions и setClusterProperties, о которых я писал выше? Интересно экспертное мнение
dimik,
 и насчет лимита - не в обиду сказано было. на этом сервисе правда больше никто не живет кроме вас. Сколько тем бы я ни просматривал - везде либо 0 комментов, либо 1-2 ваших. "...Видимо никто не хочет разбираться за вас..." - это заметно. Смысл тогда в сервисе, если можно было просто дать ваш e-mail?
Я, конечно же, еще не сверх-супер программист, но и глупым и неопытным я себя не считаю. Документация, в которой нельзя получить ответ на интересующий вопрос в течение нескольких часов - это документация не для ленивых, а как раз наоборот: для тех, кто может копаться в ней сутками
krasnov@rirubro.ru,
А что не так с доками? setClusterOptions в ней описан. Есть даже пример. setClusterProperties в доке нет, значит его пока по каким-то причинам не открыли, да в АПИ бывает такое. Не вижу смысла исследовать в консоли методы, когда лучше посмотреть в документацию. Там описано, что метод принимает, и что возвращает как и в любой другой документации. На какой именно вопрос вы не смогли получить ответ?
dimik,
я же написал выше. Метод setClusterOptions принимает objectId (string) и options (object). Оба параметра помечены как обязательные. Тут же пример ниже:


objectManager.clusters.setClusterOptions({
    preset: 'islands#redClusterIcons'
});


где тут objectId, а где options?
krasnov@rirubro.ru,
спасибо, передал документаторам