jquery 如何使Map簇在Map中不太密集的区域中具有更大的距离,而不是显示标记

6kkfgxo0  于 2023-08-04  发布在  jQuery
关注(0)|答案(3)|浏览(92)

我正在使用谷歌Map(集群版本)从以下链接:
google map clusterer
一切都很好,例如,当我有1000个位置时,它会将它们聚类,但当我有200个位置且密度不高时,它不会聚类。我想集群,即使是那些不密集我应该怎么做?有没有无论如何,我可以改变这个谷歌Map的敏感程度,以距离和缩放,以便能够集群,甚至标记在一个较不密集的地区?

djp7away

djp7away1#

当你弄清楚上面的注解要使用哪些参数时,下面是如何将这些参数传递给你的标记集群构造函数:

var mcOptions = {
    gridSize: 50,
    minimumClusterSize: 10
};

var markerCluster = new MarkerClusterer(map, markers, mcOptions);

字符串
其中map是Map对象,markers是标记数组。所使用的数字仅作为示例。你必须玩这些才能得到想要的结果。希望这对你有帮助。

oxalkeyp

oxalkeyp2#

对于任何在2023年寻找这个的人:
js-markerclustererMarkerClusterer构造函数中接受algorithmOptions,这在任何地方都没有记录。这样使用它:

const clusterer = new MarkerClusterer({
    map,
    markers: allMarkers,
    algorithmOptions: { radius: 120 },
})

字符串
MarkerClusterer使用的默认算法是supercluster,请在此处查找可用的algorithmOptions
传递这些选项时会出现TypeScript错误,因为它的类型不好,并且只怀疑maxZoom属性。要消除此错误,您可以执行以下操作:

import { MarkerClusterer, SuperClusterOptions } from '@googlemaps/markerclusterer'

const clusterer = new MarkerClusterer({
    map,
    markers: allMarkers,
    algorithmOptions: { radius: 120 } as SuperClusterOptions,
})

qlckcl4x

qlckcl4x3#

**斯威夫特 *

在最新的版本中,集群大小的改变对我来说是这样的,它的超级简单

// Set up the cluster manager with the supplied icon generator and
    // renderer.
    let iconGenerator = GMUDefaultClusterIconGenerator()
    let algorithm = GMUNonHierarchicalDistanceBasedAlgorithm()
    let renderer = GMUDefaultClusterRenderer(mapView: mapView,
                                             clusterIconGenerator: iconGenerator)
    renderer.delegate = self
    renderer.minimumClusterSize = 5 // Here is the setting

    clusterManager = GMUClusterManager(map: mapView, algorithm: algorithm,
                                       renderer: renderer)
    clusterManager.setDelegate(self, mapDelegate: self)

字符串

相关问题