android - 使用 Google map 选项初始化 map fragment

标签 android google-maps android-fragments

我正在尝试使用带有禁用缩放手势等选项的谷歌地图。我在下面的代码中添加了 GoogleMapOptions,就像我在网上随机源代码中看到的一样。问题是它根本不起作用,我可以将所有缩放控件设置为 false,但是当我运行它时它似乎并没有改变我的应用程序。

private  GoogleMap map;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    GoogleMapOptions options = new GoogleMapOptions();
            options.zoomGesturesEnabled(false);

    MapFragment.newInstance(options);

       map = ((MapFragment) getFragmentManager()
            .findFragmentById(R.id.map)).getMap();

有人能告诉我我的代码有什么问题吗?

最佳答案

而不是使用

GoogleMapOptions options = new GoogleMapOptions();
            options.zoomGesturesEnabled(false);

    MapFragment.newInstance(options);

       map = ((MapFragment) getFragmentManager()
            .findFragmentById(R.id.map)).getMap();

您可以获得 GoogleMap 对象的 UISettings 并根据需要使用它们。 例如,如果你想禁用缩放手势,你可以简单地在 getMap() 函数之后添加:

map.getUiSettings().setZoomGesturesEnabled(false);

以同样的方式,您还可以禁用默认缩放控件(“+”和“-”按钮用于放大和缩小):

map.getUiSettings().setZoomControlsEnabled(false);

并管理其他典型的 GoogleMaps 交互(罗盘控制、倾斜、滚动和旋转交互)。

此外,您可以使用

一次性禁用所有功能
map.getUiSettings().setAllGesturesEnabled(false);

请注意,如果您将 map 作为 ViewPager 中的 fragment ,则: mMap.getUiSettings().setScrollGesturesEnabled(false); 您可以让控制左右滚动到 PagerAdapter 而不是让它们具有 map 滚动的效果。

问候, 安德里亚

关于android - 使用 Google map 选项初始化 map fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652400/

相关文章:

javascript - 2 个谷歌地图在同一页面上使用地理编码

android - 为什么 Android 有 setTargetFragment() 用于从 DialogFragments 传回数据?

java - android是否有任何全局接口(interface)记录应用程序中的每个异常?

java - Android 自定义 map fragment 属性

Android 任意方向 XML 布局

android - 使用 Google Maps Android API v2 的当前 map 缩放级别的半径大小(以十进制度表示)

android - 从 SQLite 数据库的列中获取总和和平均值

ios - 如何在 MapView 上绘制地址字符串数组并显示标记?

android - CardView如何改变阴影颜色和角度?

java - 自定义 Android 实用程序类