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

如何在GoogleMap上获取当前缩放级别的整数 我需要从GMaps v1.1中获取这些代码:

MapView mGoogleMapView; int zoomLevel = mGoogleMapView.getZoomLevel(); 

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

任何帮助,将不胜感激。

 GoogleMap map; 

….

 float zoom = map.getCameraPosition().zoom; 

我认为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已被弃用,它将不会再工作.Alternately它们被replaceOnCameraMoveStarted监听器OnCameraMoveListenerOnCameraMoveCancel edListenerOnCameraIdleListener

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

代码示例:

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

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