Клуб API Карт

Cluster и Placemark

WaxerDima
23 мая 2012, 13:53

1. Как узнать в каком кластере находится метка? 

2. Как кластеру сменить стандартный тип иконки, на стандартный но другого цвета, т.е. у плейсмарка есть стандартные precet twirl#lightblueDotIcon, twirl#redDotIcon и т.д. Есть ли что то похожее для кластеров?

4 комментария
Подписаться на комментарии к посту

1. Для того, чтобы узнавать, в каком кластере находится метка, нужно самостоятельно сохранять ссылки типа "метка-кластер"

var clusters = {};

clusterer.createCluster = function(center, geoObjects) {

    var cluster = ymaps.Clusterer.prototype.createCluster.call(this, center, geoObjects);

    for (var i = 0, l = geoObjects.length; i < l; i++) {

       clusters[geoObjects[i]] = cluster;

    }

    return cluster;

}

Но! Есть 2 опасных момента - метка может не принадлежать никакому кластеру, и тогда в этом хэше ее не будет. И если метка находится вне видимой зоны карты, ее также не будет в этом хэше.

2. К сожалению, на данный момент существует только 1 тип иконок кластера. Вы можете задать свои картинки для кластеров через опцию clusterImages.

Большое спасибо за ответ. Воспользовался вашей идеей про метка-кластер при создании кластера. 

По второму вопросу, не совсем понял ваш ответ, так как не нашел clusterImages, в итоге сделал через icons у кластера.  

Да, эту опцию я и имела в виду, опечаталась в предыдущем посте, извините за неточность.