【问题标题】:Google Maps V2 - Android - Get the current zoom levelGoogle Maps V2 - Android - 获取当前缩放级别
【发布时间】:2013-05-03 19:48:43
【问题描述】:

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

MapView mGoogleMapView; 

int zoomLevel = mGoogleMapView.getZoomLevel();

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

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:
    GoogleMap map;
    

    ....

    float zoom = map.getCameraPosition().zoom;
    

    【讨论】:

    • 这必须在 UI 线程上完成,否则你会得到一个异常!
    【解决方案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‌​ListenerOnCameraMoveListener、OnCameraMoveCancel‌​edListenerOnCameraIdleListener

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

    代码示例:

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

    【讨论】:

    • 此方法已被弃用。替换为 setOnCameraMoveStartedListener(GoogleMap.OnCameraMoveStartedListener)、setOnCameraMoveListener(GoogleMap.OnCameraMoveListener)、setOnCameraMoveCanceledListener(GoogleMap.OnCameraMoveCanceledListener) 和 setOnCameraIdleListener(GoogleMap.OnCameraIdleListener)。
    • @NaszNjokaSr.,感谢您的关注。相应更新。
    • 在您的更新版本中是否可以使用 map.getCameraPosition().zoom ?为什么需要监听器的实现?有了这个onCameraIdleListener,你不会只有在相机进入空闲模式时才能获得当前的缩放级别吗?
    • 看起来缩放值是浮点数而不是整数。
    猜你喜欢
    • 2013-06-04
    • 2012-12-05
    • 2013-08-27
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多