【问题标题】:How to change visibility of markers in ClusterManager while also having access to ClusterItem object?如何更改 ClusterManager 中标记的可见性同时还可以访问 ClusterItem 对象?
【发布时间】:2019-02-16 17:08:00
【问题描述】:

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

但是,我想根据仅在我的自定义 ClusterItem 对象中可用的信息来更改标记的可见性。但是getMarkers() 方法只给了我一个标记对象的集合,它们没有这些信息。我可以获得我的自定义 ClusterItem 对象,但我无法更改它们的可见性。我只能通过获取 Marker 对象本身来做到这一点,重申一下,它没有包含在我的自定义 ClusterItem 对象中的信息。

【问题讨论】:

    标签: java android google-maps google-maps-markers markerclusterer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2021-03-12
      • 2018-10-03
      • 2023-04-04
      • 2014-08-15
      • 2011-08-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2013-08-21
      相关资源
      最近更新 更多