在 GoogleMap android API v2 上,如何获取当前 map 缩放级别?在 API v1 上,曾经有 float MapView.getZoomLevel()
,但在我使用的 API 版本上似乎没有类似的东西,这是 Google 推荐的。
我曾想过使用类变量通过缩放按钮单击监听器手动保存缩放级别,但这并不能解决捏合式缩放的问题。
为什么我需要当前的缩放级别?我将 map 范围限制为某个矩形,并希望任何会离开该矩形的移动反弹回来。此动画需要我使用缩放级别,因为没有它,将使用默认的最大缩放级别。我真正想要的是保持移动尝试之前使用的缩放级别。
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
是我需要定义的。
最佳答案
对于 Android,请尝试获取当前的 CameraPosition,并从中获取缩放。
我相信是:
map.getCameraPosition().zoom
关于android - 如何获取当前的 GoogleMap 缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14884398/