【问题标题】:Control zoom level when using Google Maps Android Marker Clustering Utility使用 Google Maps Android Marker Clustering Utility 时控制缩放级别
【发布时间】:2015-02-23 12:24:04
【问题描述】:

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

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

非常感谢!

【问题讨论】:

标签: android google-maps android-maps-v2 android-maps-utils


【解决方案1】:

我稍后会对此进行测试,但大致而言,您需要稍微自定义一下您的 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());
    }
  }
}

【讨论】:

    猜你喜欢
    • 2019-05-09
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2012-12-05
    • 1970-01-01
    • 2013-06-04
    • 2011-03-15
    相关资源
    最近更新 更多