设置MapFragment缩放限制

时间:2013-11-28 12:40:07

标签: android google-maps google-maps-api-3 zoom

我有一个使用谷歌地图片段的应用程序,我想通过使用地图片段中提供的+/-图标以某种方式设置用户可以达到的缩放级别的限制。

有没有任何已知方法可以做到这一点?

我的解决方案:

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因为它是最后一个变量。

高度赞赏任何建议。

2 个答案:

答案 0 :(得分:1)

从API版本4.0.30开始,您无法限制缩放。 此处有待处理的功能请求:https://code.google.com/p/gmaps-api-issues/issues/detail?id=4663

如果您迫不及待,可以尝试实施以下内容:http://youtube.com/watch?v=-nCZ37HdheY
这使用OnCameraChangeListenerGoogleMap.animateCamera

答案 1 :(得分:0)

您可以移除缩放按钮并使用您自己的缩放按钮,从而获得更多控制权。然后,您可以根据业务规则根据需要禁用按钮。