使用 Google 地图时控制缩放级别 Android 标记聚类实用程序

Control zoom level when using Google Maps Android Marker Clustering Utility

我正在使用 Google 地图 Android 标记聚类实用程序来为我的标记启用聚类。为了使用这个库,我需要将地图的 cameraChangeListener 设置为 ClusterManager 类型的对象。 问题是我想控制最小缩放级别,以便当缩放级别低于某个阈值时,将其值设置回预定义的值。但是,当我将 onCameraChangeListener 设置为 ClusterManager 类型的对象时,我失去了控制缩放级别的可能性。

有人知道在使用这个库时如何控制缩放级别吗?

非常感谢!

稍后我会对此进行测试,但大致而言,您需要稍微自定义一下 onCameraChangeListener

如@DiscDev的回答here所述,在地图上注册回调方法如下: mMap.setOnCameraChangeListener(getCameraChangeListener()).

在调用 ClusterManager 之前,您的 getCameraChangeListener 应该按照您希望的方式处理缩放:

public OnCameraChangeListener getCameraChangeListener()
{
  return new OnCameraChangeListener()
  {
    @Override
    public void onCameraChange(CameraPosition position)
    {
        if (position.zoom < [minimum desired position]) {
          mMap.animateCamera(CameraUpdateFactory.zoomTo( [float value of desired zoom level] );
        }
        mClusterManager.onCameraChange(mMap.getCameraPosition());
    }
  }
}