如何更改ClusterManager中标记的可见性,同时还可以访问ClusterItem对象?

问题描述 投票:0回答:1

目前我知道改变ClusterManager中标记的可见性的唯一方法是做markerClusterManager.getMarkerCollection().getMarkers(),它给了我一个Collection<Marker> object。然后,您可以更改这些标记的可见性。

但是,我想基于仅在我的自定义ClusterItem对象中可用的信息来更改标记的可见性。但是getMarkers()方法只给了我一个标记对象的集合,它没有这个信息。我可以获得我的自定义ClusterItem对象,但我无法改变其可见性。我只能通过获取Marker对象来实现,重申一下,我没有自定义ClusterItem对象中包含的信息。

java android google-maps google-maps-markers markerclusterer
1个回答
0
投票

好吧,我想到了一个似乎运作良好的解决方法。为了改变标记的可见性,我只对我想要不可见的ClusterItem对象执行clusterManager.removeItem(),对我想要可见的ClusterItem对象执行clusterManager.addItem()。然后,我调用clusterManager.cluster()让它重新加载集群。对于我从clusterManager中删除的ClusterItem对象,我将它们保存在列表中,然后每当我希望它们再次可见时将它们添加回ClusterManager。我仍然更喜欢能够使用setVisibility()方法的解决方案,但我将使用此解决方法,直到某人显示更好的方法。

© www.soinside.com 2019 - 2024. All rights reserved.