android - 设置 MapFragment 缩放限制

标签 android google-maps google-maps-api-3 zooming

我有一个使用 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
这使用 OnCameraChangeListenerGoogleMap.animateCamera

关于android - 设置 MapFragment 缩放限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20266495/

相关文章:

android - 对特定 View 使用上下文操作栏时无法解析方法 startActionMode()

android - 处理产品口味时,main/AndroidManifest.xml 中的包名称应该是什么?

android - 如何以编程方式禁用 Android AppWidget 按钮上的 onClick 处理程序

android - Google Map API V2 - 如何在用户滚动 map 时将标记保留在屏幕中央?

java - 在 android 中使用 ORMLite 保存一个集合类

android - 使用 Google Maps Android API v2 显示多个点

android - 如何使用从套接字流式传输的数据更新 Google map 标记位置?

javascript - 为什么 google map 教程不能在我的电脑上运行?

linux - 如何使用 KML 在 Google 地球中找到两点/标记之间的路线?

javascript - 如何使用 Google Maps JavaScript API v3 加载 map