android-在 google 映射 "Android" 中实现集群管理器时如何获得准确的数字,请给我正确的答案,如果有人有...?

android-how can i get exact number while implement cluster manager in google map in "Android" please give me proper answer if anyone have...?

如何在集群管理器的桶中获取准确的数字?

谁能给我举个例子?如何获得 42,35 而不是 20+,50+ 等?

如果勾选 documentation of clustering in Google Maps Android API, you will see here on how to customize the marker cluster.

此处说明 ClusterManager 构造函数创建了一个 DefaultClusterRenderer,您可以使用 setAlgorithm(Algorithm<T> algorithm)setRenderer(ClusterRenderer<T> view) 更改 ClusterRenderer 和算法ClusterManager 的方法。

DefaultClusterRenderer 提供了一个基础,要覆盖此默认值,您需要子类化 DefaultClusterRenderer

有关更多信息,您可以查看此thread and this sample code关于如何自定义标记群集。

您必须自定义 DefaultClusterRenderer class。

//获取地图聚类的准确计数

protected int getBucket(Cluster<T> cluster) {
    int size = cluster.getSize();
    return size;
}

参考这个 link https://github.com/MadhuProjectWorks/GoogleMapClustering

May be this is not the best answer but it has been work for me.

public class CustomClusterClass extends DefaultClusterRenderer<Data> {

public CustomClusterClass(Context context, MapboxMap map,
                              ClusterManagerPlugin<Data> clusterManagerPlugin) {
        super(context, map, clusterManagerPlugin);
    }

 @Override
    protected String getClusterText(int bucket) {
        return super.getClusterText(bucket).replace("+", "");
    }

    @Override
    protected int getBucket(Cluster<Data> cluster) {
        return cluster.getSize();
    }

}

对于以后访问的其他人:

就我使用 Android 的经验而言,如果要显示集群中项目的确切数量,则需要使用自定义集群。我也一直在寻找一种方法来显示确切的数字 同时使用默认的群集标记/圆 .

所以,正如大家所指出的,查看sample code here。然后,您将需要使用以下代码来获取确切的集群项目数:

override fun onBeforeClusterRendered(cluster: Cluster<MyClusterItem>?, markerOptions: MarkerOptions?){
    //... create your view
    val clusterSize = cluster?.items?.size
    //user clusterSize on your custom view
}

再次耐心等待,仔细阅读 link 中的代码并创建您自己的视图,最终您将使用您希望的簇大小。