我使用两个ClusterManager,每个都有自己的项目。
我需要切换(显示/隐藏)这些项目,具体取决于它们属于哪个ClusterManager。
示例:隐藏属于群集1的所有群集项的按钮。
我只使用群集项而非标记,因此无法使用Marker.setVisibility(布尔值)。
我尝试将所有群集项目保存到一个数组中,然后在按下按钮时进行迭代,但似乎无法隐藏群集项目。
非常感谢!
答案 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>()));