如何增加android中Marker Cluster的网格大小?

How to increase the grid size of Marker Cluster in android?

我在我的应用程序中使用标记集群。我想增加网格大小。我已经自定义了 DefaultClusterRenderer class,但我没有在其中找到任何东西来增加 size.Please 帮助我了解如何增加它。 下面是自定义clusterRenderer的代码

public class MyClusterRenderer extends DefaultClusterRenderer<MyItem> {

public MyClusterRenderer(Context context, GoogleMap map, ClusterManager clusterManager) {
    super(context, map, clusterManager);
}

@Override
protected boolean shouldRenderAsCluster(Cluster<MyItem> cluster) {
    //start clustering if at least 2 items overlap
    return cluster.getSize() > 4;
}

@Override
protected void onBeforeClusterItemRendered(MyItem item,MarkerOptions markerOptions){
    if(item.isRegister()==true)
    {
        BitmapDescriptor markerDescriptor = BitmapDescriptorFactory.defaultMarker(340);
        markerOptions.icon(markerDescriptor);

        //markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.x));
    }
    else if(item.isRegister()==false)
    {
        BitmapDescriptor markerDescriptor = BitmapDescriptorFactory.defaultMarker(60);
        markerOptions.icon(markerDescriptor).title("false");
    }
}

}

一个简单的解决方案是使用 NonHierarchicalDistanceBasedAlgorithm。创建一个新的 calss 并使用 NonHierarchicalDistanceBasedAlgorithm 对其进行扩展,然后覆盖方法 getClusters(double zoom)。在这种方法中,您将能够通过更改 zoomSpecificSpan 的值来设置网格大小,在我中,我将第一个值更改为 200.0D,这对我有效。

public Set<? extends Cluster<T>> getClusters(double zoom) {


    int discreteZoom = (int)zoom;
    double zoomSpecificSpan = 200.0D / Math.pow(2.0D, (double)discreteZoom) / 256.0D;
    HashSet visitedCandidates = new HashSet();
    HashSet results = new HashSet();
    HashMap distanceToCluster = new HashMap();
    HashMap itemToCluster = new HashMap();
    PointQuadTree var10 = this.mQuadTree;