在尝试使用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
课程?
感谢
答案 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。