【问题标题】:Google Maps Android Clustering OnCameraChangeListener() deprecatedGoogle Maps Android Clustering OnCameraChangeListener() 已弃用
【发布时间】:2016-12-29 22:37:04
【问题描述】:

使用教程here,我成功地在我的Android 应用中实现了集群。由于 OnCameraChangeListener() 现在在 com.google.android.gms: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);

【问题讨论】:

  • 到目前为止你尝试过什么?您是否尝试过使用OnCameraMoveListener(),正如documentation 中所述,它是已弃用的OnCameraChangeListener() 的给定替代品之一?它不适合你吗?如果有,请分享日志中显示的代码 sn-ps 和错误/s。
  • 已编辑以显示我尝试过的内容。

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


【解决方案1】:

你需要使用

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

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

【讨论】:

  • 不支持MultiListener。有解决办法吗?
  • @KasparTr 使一个新类覆盖 clustermanager 像此类 MyClusterManager(context: Context?, map: GoogleMap?) : ClusterManager(context, map) { override fun onCameraIdle () { super.onCameraIdle() Log.e("CAMERA", "CAMERA IDLE") } }
【解决方案2】:

建议使用新引入的四个摄像头监听器(OnCameraIdleListenerOnCameraMoveListenerOnCameraMoveStartedListenerOnCameraMoveCanceledListener),但如果您仍想使用setOnCameraChangeListener,请使用特定版本的android-maps-utils(下面给出)

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

在您的模块级 gradle 文件中。如果您想实现新方法,请查看this 答案。

【讨论】:

    【解决方案3】:

    根据文档,此界面已被弃用,取而代之的是您可以使用的更精细的选项。

    此接口已被弃用。 替换为 GoogleMap.OnCameraMoveStartedListener、GoogleMap.OnCameraMoveListener 和 GoogleMap.OnCameraIdleListener。已弃用的 onCameraChange 方法相对于新相机更改侦听器中的方法的调用顺序未定义。

    【讨论】:

    • 我知道这一点,但它是否适用于类 ClusterManager 进行集群。
    猜你喜欢
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2015-09-06
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2017-12-14
    相关资源
    最近更新 更多