简体   繁体   English

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

[英]Google Maps V2 - Android - Get the current zoom level

How do I get the current zoom level as an integer on a GoogleMap. 如何在GoogleMap上将当前缩放级别作为整数获取。 I need to take this code from GMaps v1.1: 我需要从GMaps v1.1获取此代码:

MapView mGoogleMapView; 

int zoomLevel = mGoogleMapView.getZoomLevel();

I am aware of the methods getMinZoomLevel() and getMaxZoomLevel() however I can't find anything in the Android GMap V2 documentation that will give the current zoom level. 我知道方法getMinZoomLevel()和getMaxZoomLevel()但是我在Android GMap V2文档中找不到任何可以提供当前缩放级别的内容。 Does anyone have any pointers on how to do this? 有没有人有关于如何做到这一点的任何指示?

Any help would be appreciated. 任何帮助,将不胜感激。

GoogleMap map;

....

float zoom = map.getCameraPosition().zoom;

I think OnCameraChangeListener will do the trick.. 我认为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
        }
    }
});

Update: 更新:

From Google Play service 9.4.0 OnCameraChangeListener has been deprecated and it will no longer work soon.Alternately they are replaced by OnCameraMoveStarted‌​Listener , OnCameraMoveListener , OnCameraMoveCancel‌​edListener and OnCameraIdleListener . 来自Google Play服务9.4.0 OnCameraChangeListener已被弃用,它将不再适用。或者,它们将被OnCameraMoveStarted ListenerOnCameraMoveListenerOnCameraMoveCancel edListenerOnCameraIdleListener取代

Hence we can use OnCameraIdleListener here to get camera's current zoom level. 因此我们可以在这里使用OnCameraIdleListener来获取相机的当前缩放级别。

Code Sample: 代码示例:

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

GoogleMap调用getCameraPosition() ,并读取生成的CameraPosition对象zoom字段。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM