gpt4 book ai didi

javascript - 使用 MarkerClusterer 更改所选簇的样式

转载 作者:行者123 更新时间:2023-12-03 01:40:22 27 4
gpt4 key购买 nike

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

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

我尝试了以下方法:

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

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

最佳答案

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

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

有关如何定义自定义样式的信息,请参阅此处的示例:https://googlemaps.github.io/js-marker-clusterer/examples/advanced_example.html

您需要扩展该概念并找到一种方法来区分或确定何时使用不同的图标。就我而言,我的 map 上有 5 种不同类型的标记,并且我想要 5 种不同类型的簇(每种类型的标记一个)。我将标记按五个不同的数组排序。在您的情况下,您可能希望将具有相同纬度/经度的标记添加到两个不同的数组(例如,markerArray1 和markerArray2)。然后做:varmarkerCluster1 = new MarkerClusterer(map,markerArray1,{styles:[{...},{...},,,]});

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

因此,您将使用不同的样式单独定义集群,但将它们添加到同一个 map 中。

关于javascript - 使用 MarkerClusterer 更改所选簇的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15367022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com