Google地图Android群集OnCameraChangeListener()已弃用

时间:2016-08-23 07:54:31

标签: android google-maps google-maps-android-api-2

使用教程here,我在Android应用中成功实现了群集。由于现在在com.google.android.gms中不推荐使用OnCameraChangeListener():play-services:9.4.0是否有新的方法来实现下面的部分?

private ClusterManager<MyItem> mClusterManager;
googleMap.setOnCameraChangeListener(mClusterManager);

编辑:

我尝试通过setOnCameraMoveListener直接替换setOnCameraChangeListener,如

googleMap.setOnCameraMoveListener(mClusterManager);

这不起作用,因为setOnCameraMoveListener()期望OnCameraMoveListener类的对象。转换mClusterManager也不起作用。

googleMap.setOnCameraMoveListener((GoogleMap.OnCameraMoveListener) mClusterManager);

3 个答案:

答案 0 :(得分:13)

您需要使用

  

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')

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

答案 1 :(得分:1)

建议使用新引入的四个相机听众(OnCameraIdleListenerOnCameraMoveListenerOnCameraMoveStartedListenerOnCameraMoveCanceledListener),但如果您仍想使用{{1使用特定版本的setOnCameraChangeListener(如下所示)

  

编译'com.google.maps.android:android-maps-utils:0.4.3'

在您的模块级gradle文件中。如果要实施新方法,请检查this答案。

答案 2 :(得分:-1)

根据文档,此界面已被弃用,并由您可以使用的更细粒度的选项取代。

  

此网址已弃用。   由GoogleMap.OnCameraMoveStartedListener,GoogleMap.OnCameraMoveListener和GoogleMap.OnCameraIdleListener替换。与新摄像机更改侦听器中的方法相关的已弃用的onCameraChange方法的调整顺序未定义。