在GoogleMap android API v2上,如何获取当前地图缩放级别?在API v1上,曾经有float MapView.getZoomLevel()
,但在我使用的API版本上似乎没有任何类似内容,并且谷歌建议这样做。
我曾想过使用类变量通过缩放按钮单击侦听器手动保存缩放级别,但这并不能解决缩放型缩放的问题。
为什么我需要当前的缩放级别?我正在将地图范围限制为某个矩形,并希望任何可能会离开此矩形的移动都会反弹。此动画要求我使用缩放级别,如果没有缩放级别,则使用默认的最大缩放级别。我真正想要的是保持移动尝试前使用的缩放级别。
protected void recenterMap() {
map.getMinZoomLevel();
if(MAP_BOUNDS.contains(map.getCameraPosition().target) == false) {
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MAP_CENTER)
.zoom(current_zoom)
.build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
} else {
MAP_CENTER = map.getCameraPosition().target;
}
}
请注意,变量current_zoom
是我需要定义的。
答案 0 :(得分:68)
对于Android,请尝试获取当前的CameraPosition,并从中获取缩放。
我相信它是:
map.getCameraPosition().zoom
答案 1 :(得分:-5)
应该是(在v2 API上)
map.getZoom();
如果没有,请尝试document.getElementById("zoom").innerHTML