小编典典

Android Google Map Utils聚类距离

java

我正在使用Android Google Map utils启用标记的群集。我正在用10Markers

当我按下按钮时,我会呼叫:

mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngBounds(getMarkerBoundingBox(), MAP_PADDING));

我的八个标记靠近给定区域,因此它们聚集在一起,我可以看到一个蓝色的球,其中心有数字八。其他两个标记远离另一组,但实际上彼此接近。

我现在看到的是一个带有八个标记的群集,而远处只有一个标记。仅当我放大单个标记(实际上是两个)的区域时,我才能看到两个标记。

我想显示八个标记的群集,但显示两个标记的群集。

如何减少创建集群的距离?在极限情况下,如果标记太近,我希望在缩放级别最后创建一个集群,但不能一个。

我曾尝试改变MAX_DISTANCE_AT_ZOOMNonHierarchicalDistanceBasedAlgorithm.java但没有成功。有任何想法吗??


阅读 221

收藏
2020-11-26

共1个答案

小编典典

尝试覆盖shouldRenderAsCluster,因此群集仅从2个项目开始:

声明集群管理器时:

    mClusterManager.setRenderer(new CustomRenderer<YOUR_TYPE>(getActivity(), googleMap, mClusterManager));

class CustomRenderer<T extends ClusterItem> extends DefaultClusterRenderer<T> {
    public CustomRenderer(Context context, GoogleMap map, ClusterManager<T> clusterManager) {
        super(context, map, clusterManager);
    }

    @Override
    protected boolean shouldRenderAsCluster(Cluster<T> cluster) {
        //start clustering if at least 2 items overlap
        return cluster.getSize() > 1;
    }
 ...
}
2020-11-26