在尝试使用 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 类?
谢谢
最佳答案
代替:
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();
}
}
});
这会起作用...
关于android - ClusterManager setOnCameraIdleListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38906000/