使用教程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);
答案 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)
建议使用新引入的四个相机听众(OnCameraIdleListener
,OnCameraMoveListener
,OnCameraMoveStartedListener
,OnCameraMoveCanceledListener
),但如果您仍想使用{{1使用特定版本的setOnCameraChangeListener
(如下所示)
编译'com.google.maps.android:android-maps-utils:0.4.3'
在您的模块级gradle文件中。如果要实施新方法,请检查this答案。
答案 2 :(得分:-1)
根据文档,此界面已被弃用,并由您可以使用的更细粒度的选项取代。
此网址已弃用。 由GoogleMap.OnCameraMoveStartedListener,GoogleMap.OnCameraMoveListener和GoogleMap.OnCameraIdleListener替换。与新摄像机更改侦听器中的方法相关的已弃用的onCameraChange方法的调整顺序未定义。