ClusterManager setOnCameraIdleListener

时间:2016-08-11 20:56:10

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

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

当我尝试这样做时,我收到错误,因为默认的ClusterManager类没有实现GoogleMap.OnCameraIdleListener

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

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

如何才能访问最新的ClusterManager课程? 感谢

2 个答案:

答案 0 :(得分:18)

而不是:

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();
            }
        }
    });

会起作用......

答案 1 :(得分:0)

播放服务后映射9.4.0版本的API,他们将GoogleMap.OnCameraChangeListener更改为此3个侦听器

GoogleMap.OnCameraMoveStartedListener,

GoogleMap.OnCameraMoveListener,

GoogleMap.OnCameraIdleListener。