2013-03-12 28 views
3

我有流動的情況。在地圖上有一些標記完全相同的lat/lng,因此MarkerClusterer縮放不會中斷羣集。我處理用戶點擊,但我想爲點擊的羣集設置不同的圖像。使用MarkerClusterer更改選定羣集的樣式

我發現setStyles()方法,但它改變了集羣生成的默認樣式集。

我試圖沿着這些路線的東西:

markerCluster = new MarkerClusterer(map, duplicateMarkers); 
markerCluster.clusters_[0].clusterIcon_.url_ = imageurl; 

我設定不同的形象,但簡化版,它在地圖上的變化,也試圖在setTimeout puting英寸

+0

您是否找到針對此問題的解決方案或剛剛更改UX ?,我正在使用MarkerClustererPlus並且它具有相同的限制 – 2014-09-17 20:59:12

回答

0

您可以在創建羣集時定義樣式。

var markerCluster = new MarkerClusterer(map,marker_list,{styles:[{...},{...} ,,,]});

看到這裏如何定義自定義樣式的例子:https://googlemaps.github.io/js-marker-clusterer/examples/advanced_example.html

您將需要延長這一概念,並找到一種方法來區分或識別時使用不同的圖標。 就我而言,我在地圖上有5種不同類型的標記,並且我需要5種不同類型的聚類(每種類型的標記都有一種)。我有我的標記排序在五個不同的陣列。 在你的情況下,你會想要將具有相同經度/長度的標記添加到兩個不同的數組(例如markerArray1和markerArray2)。 然後執行: var markerCluster1 = new MarkerClusterer(map,markerArray1,{styles:[{...},{...} ,,,]});

var markerCluster2 = new MarkerClusterer(map,markerArray2,{styles:[{...},{...} ,,,]});

因此,您正在分別定義具有不同樣式的羣集,但將它們添加到相同的地圖。