ClusterManager setOnCameraIdleListener

Kam*_*amy 6 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'
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能访问最新的ClusterManager课程?谢谢

小智 18

代替:

mMap.setOnCameraChangeListener(mClusterManager);
Run Code Online (Sandbox Code Playgroud)

去做:

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();
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

那可行...