谷歌地图V2 - 安卓 - 获取当前的缩放级别

如何在 GoogleMap 上以整数形式获取当前缩放级别。我需要从GMaps v1.1中获取此代码:

MapView mGoogleMapView; 

int zoomLevel = mGoogleMapView.getZoomLevel();

我知道getMinZoomLevel()和getMaxZoomLevel()的方法,但是我在Android GMap V2文档中找不到任何可以提供当前缩放级别的内容。有没有人对如何做到这一点有任何指示?

任何帮助将不胜感激。


答案 1
GoogleMap map;

....

float zoom = map.getCameraPosition().zoom;

答案 2

我认为OnCameraChangeListener会做到这一点。

map.setOnCameraChangeListener(new OnCameraChangeListener() {

    private float currentZoom = -1;

    @Override
    public void onCameraChange(CameraPosition position) {
        if (position.zoom != currentZoom){
            currentZoom = position.zoom;  // here you get zoom level
        }
    }
});

更新:

来自Google Play服务9.4.0 OnCameraChangeListener已被弃用,它将很快不再工作。或者,它们被OnCameraMoveStarted ListenerOnCameraMoveListenerOnCameraMoveCancel edListenerOnCameraIdleListener取代。

因此,我们可以在此处使用OnCameraIdleListener来获取相机的当前变焦级别。

代码示例:

map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
    @Override
    public void onCameraIdle() {
        int zoomLevel = map.getCameraPosition().zoom;
        //use zoomLevel value..
    }
});

推荐