Клуб API Карт

Поменять стиль балуна кластера

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

Привет! нужно поменять вид балуна кластера.. 

я делаю так

 -Создаю кластер, определяю ему стили - мне не нужно разделения окон, поэтому в MainContent задаю пустой стиль, чтобы его затереть, оставляю только сайдбар

        this.clusterer = new ymaps.Clusterer({
            clusterDisableClickZoom: true,
            clusterBalloonSidebarWidth: 150,
            clusterBalloonWidth: 315,            
            clusterBalloonMainContentLayout: ymaps.templateLayoutFactory.createClass('')
           ,clusterBalloonSidebarLayout: ymaps.templateLayoutFactory.createClass('$[properties.BalloonCaption]')
        });

  

        var placeMark = new ymaps.Placemark([_params.point.lat, _params.point.lng],{
            balloonContent: _params.contentBody,
            clusterCaption: _params.caption
        },{
            balloonCloseButton: true,
            // картинка иконки
            iconImageHref: _self.icon.marker,
            // размеры картинки
            iconImageSize: [46, 38],
            // смещение картинки
            iconImageOffset: [-10, -35]
        });
        
        this.clusterer.add(placeMark);
   

 Вот вопрос, как мне обратится в шаблоне сайдбара, чтобы вывести списком clusterCaption,который я добавляю при наполннии кластера?

4 комментария

Вы можете переопределить макет clusterBalloonSidebarItemLayout - это макет элемента списка в левой части балуна.

В этом макете можно обращаться к данным геообъекта $[properties.clusterCaption]

а как переопределить clusterBalloonSidebarLayout ? нужно убрать вертикальную линию...

и можете пожалуйста объяснить, почему $[properties.clusterCaption] ,а не $[options.clusterCaption]? выедь clusterCaption находится в секции options метки?


так не работает

clusterBalloonSidebarLayout: ymaps.templateLayoutFactory.createClass(' 1111111 $[[options.clusterBalloonSidebarItemLayout]] 1111111 ')

вот так 

        this.clusterer = new ymaps.Clusterer({

            clusterDisableClickZoom: true,

            clusterBalloonSidebarWidth: 310,

            clusterBalloonWidth: 325,

            clusterBalloonHeight: 140,

            clusterBalloonMainContentLayout: ymaps.templateLayoutFactory.createClass('')            

           ,clusterBalloonSidebarItemLayout: ymaps.templateLayoutFactory.createClass('$[properties.clusterCaption]')

           ,clusterBalloonSidebarLayout: ymaps.templateLayoutFactory.createClass(' 1111111 $[[options.sidebarItemLayout]] 1111111 ')

        });

почему то $[properties.clusterCaption] пустым приходит, но в остальном работает

Сложно у вас тут все)) 

Если вам нужен просто список с названиями меток, проще переопределить стиль всего балуна.

Обсуждалось здесь.