$[properties.balloonContentHeader]
$[properties.balloonContentBody]
HTML:
<ya-template-layout ya-key="balloonContentTemplate"> <div class=entry> <div class=bold>$[properties.balloonContentHeader]</div> <div>$[properties.balloonContentBody]</div> <div class=author>$[properties.balloonContentFooter]</div> </div> </ya-template-layout> <ya-map ya-zoom="5" ya-center="{{ center }}" ya-options="{geoObjectClusterDisableClickZoom: true}"> <ya-cluster ya-options="{clusterBalloonContentBodyLayout: 'cluster#balloonCarouselContent',clusterBalloonContentItemLayout: 'balloonContentTemplate',clusterBalloonPagerSize: 5,clusterBalloonWidth: 220}"> <ya-geo-object ng-repeat="o in geoObjects" ya-source="o"></ya-geo-object> </ya-cluster> </ya-map>
CSS
.entry { padding: 10px 20px 10px 15px; } .entry > * { margin-top: 6px; } .bold { font-weight: bold; } .author { text-align: right; font-style: italic; font-size: .8em; line-height: .8em; margin-right: 5px; }
javascript:
$scope.center = [37.611619,55.819543]; var content = [ [ "Пятнадцать человек на сундук мертвеца, ", "Йо-хо-хо, и бутылка рому! ", "Пей, и дьявол тебя доведёт до конца. ", "Йо-хо-хо, и бутылка рому!" ], [ "Их мучила жажда, в конце концов, ", "Йо-хо-хо, и бутылка рому! ", "Им стало казаться, что едят мертвецов. ", "Йо-хо-хо, и бутылка рому!" ], [ "Что пьют их кровь и мослы их жуют. ", "Йо-хо-хо, и бутылка рому! ", "Вот тут-то и вынырнул чёрт Дэви Джонс. ", "Йо-хо-хо, и бутылка рому!" ], [ "Он вынырнул с чёрным большим ключом, ", "Йо-хо-хо, и бутылка рому! ", "С ключом от каморки на дне морском. ", "Йо-хо-хо, и бутылка рому!" ], [ "Таращил глаза, как лесная сова, ", "Йо-хо-хо, и бутылка рому! ", "И в хохоте жутком тряслась голова. ", "Йо-хо-хо, и бутылка рому!" ], [ "Сказал он: «Теперь вы пойдёте со мной, ", "Йо-хо-хо, и бутылка рому! ", "Вас всех схороню я в пучине морской». ", "Йо-хо-хо, и бутылка рому!" ], [ "И он потащил их в подводный свой дом, ", "Йо-хо-хо, и бутылка рому! ", "И запер в нём двери тем чёрным ключом. ", "Йо-хо-хо, и бутылка рому!" ] ]; function getRandomCoordinates () { return [ $scope.center[0] + 5.5 * Math.random() * Math.random() * ( Math.random() < 0.5 ? -1 : 1), $scope.center[1] + 5.5 * Math.random() * Math.random() * ( Math.random() < 0.5 ? -1 : 1) ]; } function getRandomContentPart () { return content[Math.floor(Math.random() * content.length)].join('
'); } var init = function(){ var geos = []; for (var i = 0; i < 99; i++) { geos.push({ geometry:{ type:'Point', coordinates:getRandomCoordinates() }, properties:{ balloonContentHeader: 'Пиратская песня (' + (i + 1) + ')', balloonContentBody: getRandomContentPart(), balloonContentFooter: 'Р.Л.Стивенсон' } }); } $scope.geoObjects = geos; }; init();