Android中onMarkerClick和onClusterItemClick事件的区别

Posted

技术标签:

【中文标题】Android中onMarkerClick和onClusterItemClick事件的区别【英文标题】:Differenciate between onMarkerClick and onClusterItemClick event in Android 【发布时间】:2015-07-04 04:28:39 【问题描述】:

我正在使用谷歌地图 v2,其中 1000 多个标记是从网络服务中获取的。所以出于这个原因,我正在使用地图聚类。我正在显示信息窗口onMarkerClick,但问题是当用户单击集群时,它会显示信息窗口,因为触发了onMarkerClick 事件。单击标记簇时,我想进一步放大。有onClusterItemClick 事件,但它不适用于onMarkerClick。任何可行的解决方案都提前表示赞赏。

谢谢

【问题讨论】:

【参考方案1】:

我找到了这个问题的答案。实际上,您可以根据您的要求在ClusterManager 对象上使用以下两个侦听器,例如mClusterManager

1- setOnClusterClickListener

2- setOnClusterItemClickListener

但在此之前你必须设置这个:

map.setOnMarkerClickListener(mClusterManager);

【讨论】:

setOnClusterClickListenersetOnClusterItemClickListener 有什么不同? setOnClusterClickListener 将在单击一组由单个集群图标表示的标记时触发。如果集群中的任何特定标记被按下,setOnClusterItemClickListener 将触发【参考方案2】:

我认为您可以检查当前缩放级别,并且仅在当前缩放级别小于数字时执行正常的onMarkerClick 项目,或者您制作某种标志来记住当前项目是否已聚集。

【讨论】:

这不起作用,因为地图上也可能有非聚集标记。

以上是关于Android中onMarkerClick和onClusterItemClick事件的区别的主要内容,如果未能解决你的问题,请参考以下文章

隐藏信息窗口 android map api v2

如何使用 java/android 从 Firebase ONCE 读取数据?

安卓。谷歌地图API实现标记点击

我的Android进阶之旅Android Studio 中 使用git提交代码报错:Can‘t commit changes from multiple changelists at once(代码片

Unity Android 错误 call to OpenGL ES API with no current context (logged once per thread) 解决办法

Android 使用WebView报错:Using WebView from more than one process at once with the same data directory is