【问题标题】:averageCenter on markerclusterer标记聚类器上的平均中心
【发布时间】:2014-12-29 21:22:11
【问题描述】:

我正在使用 google maps API 对标记进行聚类。

目前,聚类中心设置在添加到它的第一个标记上。 有没有办法把它放在所有位置的平均值中?

我在 android 中使用谷歌地图 API V2。

谢谢,

编辑:在这个网站上,他们正在讨论设置“averageCenter”http://component.kitchen/components/timeu/google-map-markerclusterer的属性

有没有安卓的等价物?

【问题讨论】:

    标签: android google-maps-android-api-2 marker


    【解决方案1】:

    如果您在项目中使用Google Maps Android API utility library,您可以更改用于聚类的算法。

    使用的默认算法是NonHierarchicalDistanceBasedAlgorithm(你可以在library/src/com/google/maps/android/clustering/algo/找到类文件)。

    现在你可以:

    • 要么编辑类的源代码,
    • 或创建一个扩展NonHierarchicalDistanceBasedAlgorithm 的新类并覆盖getClusters(double) 方法。然后,通过 setAlgorithm(Algorithm) 将此类的实例与您的 ClusterManager 一起使用。

    为了计算簇的中心位置需要做的更改可以在this commit中找到(我选择直接编辑类)。 不过,我没有测量这些变化对聚类计算速度的影响。


    编辑:目前,a simple average is used 用于计算集群的位置,这对于纬度/经度坐标不正确,但速度有点快。

    您可以在这里找到更好的中心计算算法:https://stackoverflow.com/a/14231286

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 2012-04-02
      • 1970-01-01
      相关资源
      最近更新 更多