如何在GoogleMap上将当前缩放级别设为整数。我需要从GMaps v1.1中获取此代码:
MapView mGoogleMapView;
int zoomLevel = mGoogleMapView.getZoomLevel();
我知道方法getMinZoomLevel()和getMaxZoomLevel()但是我在Android GMap V2文档中找不到任何可以提供当前缩放级别的内容。有没有人对如何做到这一点有任何指示?
任何帮助都将不胜感激。
答案 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
object的zoom
字段。