В примере используется макет балуна кластера "cluster#balloonAccordion".
В макете выводится список геообъектов, а после клика по элементу происходит отображение информации о геообъекте.
Информация о выбранном геообъекте задается отдельным макетом
и может быть настроена при помощи опции 'clusterBalloonItemContentLayout'.
В данном примере задается собственный макет с информацией о геообъекте.
Макеты
объектов можно создавать с помощью фабрики templateLayoutFactory,
используя текстовые шаблоны.
Текстовые шаблоны формируют html-содержимое макета на основе хэша с данными,
передаваемого в конструктор макета.
В данном примере поставщик данных - это геообъект.
\n","cluster_balloon_accordion.js":"ymaps.ready(function () {\n var mapCenter = [55.755381, 37.619044],\n map = new ymaps.Map('map', {\n center: mapCenter,\n zoom: 9,\n controls: []\n }),\n // Возможные значения цветов иконок.\n placemarkColors = [\n '#FF1F1F', '#1F44FF', '#1FFF8E', '#FF1FF5',\n '#FFEF1F', '#FF931F', '#AE6961', '#6193AE'\n ];\n \n // Создаем собственный макет с информацией о выбранном геообъекте.\n var customItemContentLayout = ymaps.templateLayoutFactory.createClass(\n // Флаг \"raw\" означает, что данные вставляют \"как есть\" без экранирования html.\n '
{{ properties.balloonContentHeader|raw }}
' +\n '
{{ properties.balloonContentBody|raw }}
' +\n ''\n );\n \n var clusterer = new ymaps.Clusterer({\n clusterDisableClickZoom: true,\n clusterOpenBalloonOnClick: true,\n // Устанавливаем стандартный макет балуна кластера \"Аккордеон\".\n clusterBalloonContentLayout: 'cluster#balloonAccordion',\n // Устанавливаем собственный макет.\n clusterBalloonItemContentLayout: customItemContentLayout,\n // Устанавливаем режим открытия балуна. \n // В данном примере балун никогда не будет открываться в режиме панели.\n clusterBalloonPanelMaxMapArea: 0,\n // Устанавливаем размеры макета контента балуна (в пикселях).\n clusterBalloonContentLayoutWidth: 250,\n clusterBalloonContentLayoutHeight: 200,\n // Можно отключить отображение иконок геообъектов в списке. \n // В браузере Internet Explorer ниже 9й версии иконки никогда не будут отображаться.\n // clusterBalloonAccordionShowIcons: false\n });\n \n // Заполняем кластер геообъектами со случайными позициями.\n var placemarks = [];\n for (var i = 0, l = 100; i < l; i++) {\n var placemark = new ymaps.Placemark(getRandomPosition(), {\n // Устаналиваем данные, которые будут отображаться в балуне.\n balloonContentHeader: 'Метка №' + (i + 1),\n balloonContentBody: getContentBody(i),\n balloonContentFooter: 'Мацуо Басё'\n }, {\n iconColor: getRandomColor()\n });\n placemarks.push(placemark);\n }\n \n clusterer.add(placemarks);\n map.geoObjects.add(clusterer);\n \n \n function getRandomPosition () {\n return [\n mapCenter[0] + (Math.random() * 0.6 - 0.3),\n mapCenter[1] + (Math.random() * 0.8 - 0.4)\n ];\n }\n\n function getRandomColor() {\n return placemarkColors[Math.round(Math.random() * placemarkColors.length)];\n }\n \n var placemarkBodies;\n function getContentBody (num) {\n if (!placemarkBodies) {\n placemarkBodies = [\n ['Снег согнул бамбук,', 'Словно мир вокруг него', 'Перевернулся.'].join(' '),\n ['Пустое гнездо.', 'Так и покинутый дом -', 'Выехал сосед.'].join(' '),\n ['В жару крестьянин', 'Прилег на цветы вьюнка.', 'Так же прост наш мир.'].join(' ') \n ];\n }\n return 'Тело метки №' + (num + 1) + ' ' + placemarkBodies[num % placemarkBodies.length];\n }\n clusterer.balloon.open(clusterer.getClusters()[0]);\n});"},"resources":[],"directory":"https://sandbox.api.maps.yandex.net/examples/ru/2.1/cluster_balloon_accordion/"}
В макете выводится список геообъектов, а после клика по элементу происходит отображение информации о геообъекте.
Информация о выбранном геообъекте задается отдельным макетом и может быть настроена при помощи опции 'clusterBalloonItemContentLayout'.
В данном примере задается собственный макет с информацией о геообъекте.
Макеты объектов можно создавать с помощью фабрики templateLayoutFactory, используя текстовые шаблоны.
Текстовые шаблоны формируют html-содержимое макета на основе хэша с данными, передаваемого в конструктор макета.
В данном примере поставщик данных - это геообъект.