如何在 GoogleMap 上将当前缩放级别作为整数获取。我需要从 GMaps v1.1 获取这段代码:
MapView mGoogleMapView;
int zoomLevel = mGoogleMapView.getZoomLevel();
我知道 getMinZoomLevel() 和 getMaxZoomLevel() 方法,但是我在 Android GMap V2 文档中找不到任何可以提供当前缩放级别的内容。有没有人对如何做到这一点有任何指示?
任何帮助,将不胜感激。
如何在 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已被弃用,它将不再工作。或者,它们被OnCameraMoveStartedListener、OnCameraMoveListener、OnCameraMoveCanceledListener和OnCameraIdleListener 取代。
因此我们可以在这里使用OnCameraIdleListener来获取相机的当前缩放级别。
代码示例:
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
int zoomLevel = map.getCameraPosition().zoom;
//use zoomLevel value..
}
});