Google Maps V2 - Android - 获取当前缩放级别

时间:2013-05-03 19:48:44

标签: java android google-maps-android-api-2 android-maps-v2

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

MapView mGoogleMapView; 

int zoomLevel = mGoogleMapView.getZoomLevel();

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

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:178)

GoogleMap map;

...

float zoom = map.getCameraPosition().zoom;

答案 1 :(得分:39)

我认为 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 Listener OnCameraMoveListener < / strong>, OnCameraMoveCancel edListener OnCameraIdleListener

因此我们可以在这里使用 OnCameraIdleListener 来获取相机的当前缩放级别。

代码示例:

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

答案 2 :(得分:7)

致电getCameraPosition() on the GoogleMap,并阅读生成的CameraPosition objectzoom字段。