显示/隐藏Google Maps v2 Cluster Items- android

时间:2016-04-18 18:53:00

标签: android google-maps

我使用两个ClusterManager,每个都有自己的项目。

我需要切换(显示/隐藏)这些项目,具体取决于它们属于哪个ClusterManager。

示例:隐藏属于群集1的所有群集项的按钮。

我只使用群集项而非标记,因此无法使用Marker.setVisibility(布尔值)。

我尝试将所有群集项目保存到一个数组中,然后在按下按钮时进行迭代,但似乎无法隐藏群集项目。

非常感谢!

1 个答案:

答案 0 :(得分:0)

根据此documentation,它仅显示如何添加ClusterItem

要使用标记群集实用程序,您需要将标记作为ClusterItem对象添加到ClusterManager。 ClusterManager将标记传递给算法,算法将它们转换为一组簇。 ClusterRenderer通过添加和删除群集和单个标记来处理渲染。 ClusterRenderer和Algorithm是可插拔的,可以自定义。

用于隐藏ClusterItem。

我在这个SO question中找到了一个关于如何隐藏ClusterItem的解决方案。

因为ClusterManager没有实现删除元素。

您可以尝试使用GridBasedAlgorithm(它支持删除元素):

clusterMng.setAlgorithm(new GridBasedAlgorithm<MyClusterItem>());

或者,为了获得更好的性能,请使用PreCachingAlgorithmDecorator将其包装,正如ClusterManager默认执行的那样:

clusterMng.setAlgorithm(new PreCachingAlgorithmDecorator<MyClusterItem>(new GridBasedAlgorithm<MyClusterItem>()));