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 中的代码并创建您自己的视图,最终您将使用您希望的簇大小。
如何在集群管理器的桶中获取准确的数字?
谁能给我举个例子?如何获得 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 中的代码并创建您自己的视图,最终您将使用您希望的簇大小。