在尝试实现使用ClusterManager时,我注意到不推荐使用getMap().setOnCameraChangeListener(clusterManager)。看一下Github上的android-maps utils示例,我注意到了getMap().setOnCameraIdleListener(mClusterManager);
当我尝试做同样的事情时,我会得到一个错误,因为默认的ClusterManager类没有实现GoogleMap.OnCameraIdleListener。
然而,在我的gradle文件中,我使用的是最新的地图--util库:
dependencies {
compile 'com.google.maps.android:android-maps-utils:0.4.3'
}如何才能访问最新的ClusterManager类?谢谢
发布于 2016-08-16 15:45:36
而不是:
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();
}
}
});那会管用的..。
发布于 2017-04-18 14:33:33
在play-services-map 9.4.0版本的API之后,他们将GoogleMap.OnCameraChangeListener更改为以下3个侦听器
GoogleMap.OnCameraMoveStartedListener,
GoogleMap.OnCameraMoveListener,
GoogleMap.OnCameraIdleListener。
https://stackoverflow.com/questions/38906000
复制相似问题