gpt4 book ai didi

android - 如何暂时禁用 map 标记聚类?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:58 28 4
gpt4 key购买 nike

我将 Google Maps V2 for Android 与 map 实用程序扩展库一起用于标记聚类。 App的某些部分不需要获取聚类标记。

有没有办法禁止 clusterManager 对标记进行聚类,并在特定条件下让它再次对项目进行聚类?

最佳答案

我找到了另一个解决方案。我发现 DefaultClusterRenderer 方法 shouldRenderAsCluster 负责标记是否将呈现为群集。因此,我创建了一个扩展 DefaultClusterRenderer 的 CustomRenderer 类,并创建了一个带有 bool 变量的方法来确定渲染器是否应该聚类。

public class CustomRenderer extends DefaultClusterRenderer<MarkerItem>
{
private boolean shouldCluster = true;
private static final int MIN_CLUSTER_SIZE = 1;

//Some code....

public void setMarkersToCluster(boolean toCluster)
{
this.shouldCluster = toCluster;
}

我在这里也覆盖了我之前提到的方法。

@Override
protected boolean shouldRenderAsCluster(Cluster<MarkerItem> cluster)
{
if (shouldCluster)
{
return cluster.getSize() > MIN_CLUSTER_SIZE;
}

else
{
return shouldCluster;
}
}

现在,如果我想停止集群,我只需从我想要的 Activity 中调用此方法即可。

ClusterManager clusterManager = new ClusterManager<MarkerItem>(this, googleMap);
CustomRenderer customRenderer = new CustomRenderer(this, googleMap, clusterManager);
clusterManager.setRenderer(customRenderer);
customRenderer.setMarkersToCluster(false);

关于android - 如何暂时禁用 map 标记聚类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27273857/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com