Задать вопрос

Как сделать чтобы при нажатии на кластер всплывало окно с названиями дочерних меток?

У меня есть yandex карта. На ней есть несколько меток (с разными названиями), при отдалении карты - некоторые метки объединяются в кластер.
Мне необходимо, чтобы при нажатии на кластер - всплывал балун со списком элементов "название + иконка" этих меток:
- иконка1 + название 1
- иконка2 + название 2
........................................

ymaps.ready(init);
        var myMap;

        // массив с метками
        var myCollection = [];

        // Инициализация карты
        function init() {

            myMap = new ymaps.Map("map-category", {
                    center: [44.496141, 34.162030],
                    zoom: 10,
                    controls: []
                },
                {}),

                clusterer = new ymaps.Clusterer({
                    clusterIcons: [
                    {
                        href: 'images/icons/cluster.svg',
                        size: [32, 32],
                        offset: [-16, -32]
                    }]
                });

            // 1 метка
            myPlacemark1 = new ymaps.Placemark(
                [44.496141, 34.162030], {
                    hintContent: 'Название 1',
                    balloonContent:
                    '<div class="event">' +
                           Название 1
                    '</div>' +
                },
                {
                    // Иконка маркера
                    iconLayout: 'default#image',
                    iconImageHref: 'images/icons/marker-full.svg',
                    iconImageSize: [22, 30],
                    iconImageOffset: [-11, -30],

                    // Балун
                    balloonImageSize: [497, 183],
                    balloonMinWidth: 497,
                    balloonOffset: [35, -40],
                    balloonAutoPanCheckZoomRange: false,
                    clusterDisableClickZoom: true,
                    hideIconOnBalloonOpen: false
                }
            );

            // 2 метка
            myPlacemark1 = new ymaps.Placemark(
                [44.496141, 34.162030], {
                    hintContent: 'Название 2',
                    balloonContent:
                    '<div class="event">' +
                           Название 1
                    '</div>' +
                },
                {
                    // Иконка маркера
                    iconLayout: 'default#image',
                    iconImageHref: 'images/icons/marker-full.svg',
                    iconImageSize: [22, 30],
                    iconImageOffset: [-11, -30],

                    // Балун
                    balloonImageSize: [497, 183],
                    balloonMinWidth: 497,
                    balloonOffset: [35, -40],
                    balloonAutoPanCheckZoomRange: false,
                    clusterDisableClickZoom: true,
                    hideIconOnBalloonOpen: false
                }
            );

            myMap.geoObjects.add(myPlacemark1);
            myMap.geoObjects.add(myPlacemark2);

            myCollection.push(myPlacemark1, myPlacemark2);

            clusterer.add(myCollection);
            myMap.geoObjects.add(clusterer);
  • Вопрос задан
  • 305 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Перехватить событие клика на кластере, сформировать балун для показа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы