Android Google Maps:禁用 MapFragment 中的拖动

Posted

技术标签:

【中文标题】Android Google Maps:禁用 MapFragment 中的拖动【英文标题】:Android Google Maps: disable dragging in MapFragment 【发布时间】:2013-06-03 11:48:33 【问题描述】:

当用户尝试用手指拖动地图而不影响放大和缩小时,我可以禁用拖动功能吗?

请任何人提出一个这样做的想法! 感谢您的宝贵帮助!

【问题讨论】:

【参考方案1】:

您可以使用以下方法禁用在MapFragment 中的拖动:

googleMap.getUiSettings().setScrollGesturesEnabled(false);

【讨论】:

【参考方案2】:

我想这就是你要找的东西:

内部Google Maps android v2

滚动(平移)手势

用户可以通过拖动地图来滚动(平移)地图 手指。您可以通过调用禁用滚动 UiSettings.setScrollGesturesEnabled(boolean)。

【讨论】:

谢谢!这是很大的帮助! 链接已损坏。 更新链接:developers.google.com/maps/documentation/android-sdk/controls 试试这个:***.com/a/60665420/7135685【参考方案3】:

禁用拖入MapFragment此代码:

googleMap.getUiSettings().setScrollGesturesEnabled(false);

正如@tomrozb 所说的那样工作。 但它不会通过触摸地图来禁用地图缩放。为此,请在上述代码旁边使用此代码:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

【讨论】:

关于缩放的第二个 1,很有用。 +1【参考方案4】:

您可以将 isScrollGesturesEnabled 用于地图

java:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

科特林

googleMap?.uiSettings?.isScrollGesturesEnabled = false

【讨论】:

【参考方案5】:

您可以使用以下方法在 MapFragment 中禁用拖动:

    mMap.getUiSettings().setScrollGesturesEnabled(false);
    mMap.getUiSettings().setZoomGesturesEnabled(false);
    mMap.getUiSettings().setScrollGesturesEnabledDuringRotateOrZoom(false);

【讨论】:

【参考方案6】:

您不必在代码中进行设置。您可以从 XML 配置手势:

<fragment
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:id="@+id/mapFragment"
    map:uiScrollGestures="false" />

除了uiScrollGestures,您还可以设置uiZoomGesturesuiTiltGesturesuiRotateGestures

请参阅XML Attributes 文档。

【讨论】:

以上是关于Android Google Maps:禁用 MapFragment 中的拖动的主要内容,如果未能解决你的问题,请参考以下文章

Google Maps Android Studio - 如何禁用地图控件?

Android Google Maps:禁用 MapFragment 中的拖动

import com.google.android.maps.geopoint 无法解析

使用 Googles android-maps-utils 在最大缩放级别禁用集群

“Maps SDK for Android v.3.0.0 BETA”能否在没有 Google Play 服务的设备上运行?

地图加载后 Google Maps API v3 不会禁用滚轮