Клуб API Карт

Вопрос по содержимому балуна кластера

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

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

 

Пытаюсь решить следующую проблему (проект связан с недвижимостью):

1. При масштабировании на уровне районов не хочу загружать сами объекты (квартиры и т.д.) подгружаю только их число и создаю кластер (массив из фейковых геообъектов типа точка с координатами центра района). Это работает нормально, кластер показыват число объектов и стоит в нужном месте.

2. Теперь при клике  на кластер хочу показать нужное мне содержимое балуна. Вот этот пример видел: http://api.yandex.ru/maps/jsbox/2.0/cluster_balloon_layout , но мне это показалось как-то слишком заморочено.

 

Пытаюсь сделать это так:

  clusterer.events.add('balloonopen', function (e) {
        e.originalEvent.balloon.setData({ content: 'Test' });
    });

 

Получаю ошибку JS браузера (IE):

Ошибка выполнения JavaScript: Не удалось получить свойство "get" ссылки, значение которой не определено или является NULL

Собственно, вопрос - как можно на лету сформировать содержимое балуна кластера, не содержащего дочерних элементов с balloonContent?

 

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

PS. Работаю с 2.0-stable

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

Какую версию апи вы используете? 2.0 или 2.1?

http://api-maps.yandex.ru/2.0-stable/?lang=ru-RU&load=package.full

 

Но могу перейти на другую, если Вы посоветуете и там будет простое решение.

Переехал на 2.1. Ситуация та же и ошибка та же, разница только в доступе к balloon, теперь через e.originalEvent.currentTarget.balloon

Решил просто:

 

    clusterer.events.add('click', function (e) {
        map.balloon.open(position, mapObject.InfoHtml);
    });

Да, вполне себе решение. Первый вариант не работал, так как балун кластера принимает на вход данные определенного формата - он ожидает объект с полями state, properties, options и тд.