【问题标题】:Change style of selected cluster using MarkerClusterer使用 MarkerCluster 更改所选集群的样式
【发布时间】:2013-03-12 16:38:59
【问题描述】:

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

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

我尝试了一些类似的方法:

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

我设置了不同的图像但它在地图上没有改变,也尝试输入setTimeout

【问题讨论】:

  • 您是否找到了解决此问题的方法或刚刚更改了用户体验?,我正在使用 MarkerClustererPlus,它具有相同的限制

标签: javascript google-maps markerclusterer


【解决方案1】:

您可以在创建集群时定义样式。

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:[{...},{...},,,]});

因此,您正在分别定义具有不同样式的集群,但将它们添加到同一个地图中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多