我有一个使用 Google map fragment 的应用程序,我想以某种方式设置用户可以使用 map fragment 中提供的 +/- 图标达到的缩放级别限制。
有什么已知的方法可以做到这一点吗?
我的解决方案:
private final GoogleMap.OnCameraChangeListener mOnCameraChangeListener =
new GoogleMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition cameraPosition) {
Log.d("Zoom", "Zoon: " + cameraPosition.zoom);
if (cameraPosition.zoom > 16.01) {
getMap().animateCamera(CameraUpdateFactory.zoomTo(16));
}
}
};
在 onViewCreated()
中:
//set the zoom limit
getMap().setOnCameraChangeListener(mOnCameraChangeListener);
到目前为止,每次缩放级别更改时都会向我显示缩放级别。我不确定如何在这里限制缩放...我不能只做 cameraPosition.zoom=15
因为它是一个最终变量。
非常感谢任何建议。
最佳答案
从 API 4.0.30 版本开始,您不能限制缩放。 这里有一个待处理的功能请求:https://code.google.com/p/gmaps-api-issues/issues/detail?id=4663
如果你等不及了,你可以尝试实现这样的东西:http://youtube.com/watch?v=-nCZ37HdheY
这使用 OnCameraChangeListener
和 GoogleMap.animateCamera
。
关于android - 设置 MapFragment 缩放限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20266495/