ClusterManager setOnCameraIdleListener [英] ClusterManager setOnCameraIdleListener
问题描述
在尝试实现使用ClusterManager
时,我注意到getMap().setOnCameraChangeListener(clusterManager)
已被弃用.在Github上查看android-maps-utils示例时,我注意到getMap().setOnCameraIdleListener(mClusterManager);
While trying to implement use ClusterManager
, I noticed that the getMap().setOnCameraChangeListener(clusterManager)
is deprecated. Looking at the android-maps-utils sample on Github, I noticed that getMap().setOnCameraIdleListener(mClusterManager);
当我尝试执行相同操作时,由于默认的ClusterManager
类未实现GoogleMap.OnCameraIdleListener
,因此我收到一条错误消息.
When I try doing the same, I get an error because the default ClusterManager
class doesn't implement GoogleMap.OnCameraIdleListener
.
但是,在我的gradle文件中,我正在使用最新的maps-util库:
Yet, in my gradle file, I am using what seems to me, the latest maps-util libraries:
dependencies {
compile 'com.google.maps.android:android-maps-utils:0.4.3'
}
如何获取最新的ClusterManager
类?
谢谢
How can I get access to the newest ClusterManager
class?
Thanks
推荐答案
而不是:
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();
}
}
});
那将起作用...
这篇关于ClusterManager setOnCameraIdleListener的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!