谷歌地图与群集管理器:不推荐使用onCameraChangeListener

Man*_*uel 5 android markerclusterer google-maps-android-api-2 android-maps-utils

我有一个Android应用程序,大约有500-1000个标记.我现在用的是ClusterManager从Android的地图-utils的这里群集这些标记.

在最新的Play服务更新中,Google更改了Google地图的收听模型.将OnCameraChangeListener被标记为已弃用.相反,有四个新的听众(OnCameraIdleListener, OnCameraMoveListener, OnCameraMoveStartedListener,OnCameraMoveCanceledListener).

自那次更新以来,我的应用程序非常慢.它坚持移动/缩放地图,聚类过程滞后,需要几秒钟.

我认为这种行为可能与侦听器模型中的更改有关.因此我试图addOnCameraChangeListener(clustermanager)用新的替换功能addOnCameraIdleListener(clustermanager).不幸的是,这不起作用,因为ClusterManager没有实现必要的接口.

这就是它变得奇怪的地方,因为ClusterManagerGitHub上的当前版本(0.4.3)确实实现了该接口.所以它应该工作.

我正在使用Gradle导入ClusterManager:

compile 'com.google.maps.android:android-maps-utils:0.4.3

但我的本地版本ClusterManager似乎仍然是一个旧的实现旧版本OnCameraChangeListener.

那么这里有什么问题?这是Gradle的不当行为吗?有人知道如何解决这个问题吗?自上次播放服务更新以来,Google Map/Clusterer的播放速度是否缓慢且有任何其他人?

我感谢任何帮助.多谢你们.

小智 22

你需要使用gooleMap.setOnCameraIdleListener(mClusterManager); 而不是googleMap.setOnCameraMoveListener(mClusterManager);

您可以搜索ClusterManager的源代码,您将看到ClusterManager实现了新的OnCameraIdleListener.

你还需要更新到新的android-maps-utils:0.4.4(编译'com.google.maps.android:android-maps-utils:0.4.4')

祝你好运并投票...... ;-)