使用MarkerClusterer更改所选群集的样式

时间:2013-03-12 16:38:59

标签: javascript google-maps markerclusterer

我有流动的情况。地图上有一些标记位于完全相同的纬度/经度上,因此MarkerClusterer缩放不会破坏群集。我处理了用户点击,但我想为点击的群集设置不同的图像。

我找到了setStyles()方法但该方法更改了集群生成的默认样式集。

我尝试了以下几点:

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

我设置了不同的图片,但它在地图上没有变化,也尝试放入setTimeout

1 个答案:

答案 0 :(得分: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:[{...},{...} ,,,]});

因此,您将分别使用不同的样式定义聚类,但将它们添加到同一个地图中。