ClusterManager setOnCameraIdleListener [英] ClusterManager setOnCameraIdleListener

查看:198
本文介绍了ClusterManager setOnCameraIdleListener的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试实现使用ClusterManager时,我注意到getMap().setOnCameraChangeListener(clusterManager)已被弃用.在Github上查看android-maps-utils示例时,我注意到getMap().setOnCameraIdleListener(mClusterManager);

While trying to implement use ClusterManager, I noticed that the getMap().setOnCameraChangeListener(clusterManager) is deprecated. Looking at the android-maps-utils sample on Github, I noticed that getMap().setOnCameraIdleListener(mClusterManager);

当我尝试执行相同操作时,由于默认的ClusterManager类未实现GoogleMap.OnCameraIdleListener,因此我收到一条错误消息.

When I try doing the same, I get an error because the default ClusterManager class doesn't implement GoogleMap.OnCameraIdleListener.

但是,在我的gradle文件中,我正在使用最新的maps-util库:

Yet, in my gradle file, I am using what seems to me, the latest maps-util libraries:

dependencies {
    compile 'com.google.maps.android:android-maps-utils:0.4.3'
}

如何获取最新的ClusterManager类? 谢谢

How can I get access to the newest ClusterManager class? Thanks

推荐答案

而不是:

mMap.setOnCameraChangeListener(mClusterManager);

这样做:

final CameraPosition[] mPreviousCameraPosition = {null};
    googleMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
        @Override
        public void onCameraIdle() {
            CameraPosition position = googleMap.getCameraPosition();
            if(mPreviousCameraPosition[0] == null || mPreviousCameraPosition[0].zoom != position.zoom) {
                mPreviousCameraPosition[0] = googleMap.getCameraPosition();
                clusterManager.cluster();
            }
        }
    });

那将起作用...

这篇关于ClusterManager setOnCameraIdleListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆