HTML:
<ya-map ya-zoom="9" ya-center="[37.573856,55.751574]" ya-behaviors="default scrollZoom"> <ya-cluster ya-options="{preset:'islands#invertedVioletClusterIcons'}"> <ya-geo-object ya-options="{preset: 'islands#violetIcon'}" ng-repeat="o in geoObjects" ya-source="o"></ya-geo-object> </ya-cluster> </ya-map>
javascript:
var points = [ [37.411961,55.831903],[37.565466,55.763338],[37.565466,55.763338],[37.616378,55.744522],[37.642889,55.780898], [37.435983,55.793559],[37.675638,55.800584],[37.589988,55.716733],[37.56084,55.775724],[37.433781,55.822144], [37.669838,55.87417],[37.482338,55.71677],[37.75021,55.78085],[37.654142,55.810906],[37.713329,55.865386], [37.525797,55.847121],[37.710743,55.778655],[37.717934,55.623415],[37.737,55.863193],[37.760113,55.86677], [37.730838,55.698261],[37.564769,55.6338],[37.5394,55.639996],[37.405853,55.69023],[37.5129,55.77597], [37.44218,55.775777],[37.440448,55.811814],[37.404853,55.751841],[37.728976,55.627303],[37.597163,55.816515], [37.689397,55.664352],[37.600961,55.679195],[37.658425,55.673873],[37.605126,55.681006],[37.431744,55.876327], [37.778445,55.843363],[37.549348,55.875445],[37.702087,55.662903],[37.434113,55.746099],[37.712326,55.83866], [37.415725,55.774838],[37.630223,55.871539],[37.571271,55.657037],[37.711026,55.691046],[37.65961,55.803972], [37.452759,55.616448],[37.442781,55.781329],[37.74887,55.844708],[37.406067,55.723123],[37.48498,55.858585] ]; var createGeoObjects = function(){ var geoObjects = []; var point; for (var i = 0, ii = points.length; i < ii; i++) { point = points[i]; geoObjects.push({ geometry:{ type:'Point', coordinates:point }, properties:{ balloonContentBody: 'балун <strong>метки ' + i + '</strong>', clusterCaption: 'метка <strong>' + i + '</strong>' } }); } $scope.geoObjects = geoObjects; }; createGeoObjects(); $scope.enter = function(e){ var target = e.get('target'); if (typeof target.getGeoObjects != 'undefined') { // Событие произошло на кластере. target.options.set('preset', 'islands#invertedPinkClusterIcons'); } else { // Событие произошло на геообъекте. target.options.set('preset', 'islands#pinkIcon'); } }; $scope.leave = function(e){ var target = e.get('target'); if (typeof target.getGeoObjects != 'undefined') { // Событие произошло на кластере. target.options.set('preset', 'islands#invertedVioletClusterIcons'); } else { // Событие произошло на геообъекте. target.options.set('preset', 'islands#violetIcon'); } };