我有一个使用谷歌地图片段的应用程序,我想通过使用地图片段中提供的+/-图标以某种方式设置用户可以达到的缩放级别的限制。
有没有任何已知方法可以做到这一点?
我的解决方案:
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
因为它是最后一个变量。
高度赞赏任何建议。
答案 0 :(得分:1)
从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
。
答案 1 :(得分:0)
您可以移除缩放按钮并使用您自己的缩放按钮,从而获得更多控制权。然后,您可以根据业务规则根据需要禁用按钮。