62

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

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

4

6 回答 6

110

您可以使用以下方式禁用拖动MapFragment

googleMap.getUiSettings().setScrollGesturesEnabled(false);
于 2014-12-23T09:22:06.553 回答
99

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

Google Maps Android v2内部

滚动(平移)手势

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

于 2013-06-07T09:08:42.337 回答
14

禁用MapFragment此代码中的拖动:

googleMap.getUiSettings().setScrollGesturesEnabled(false);

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

googleMap.getUiSettings().setZoomGesturesEnabled(false);
于 2017-12-04T13:55:03.983 回答
8

您可以将 isScrollGesturesEnabled 用于地图

爪哇:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

科特林

googleMap?.uiSettings?.isScrollGesturesEnabled = false
于 2018-09-17T05:42:22.010 回答
6

You can disable dragging in MapFragment using:

    mMap.getUiSettings().setScrollGesturesEnabled(false);
    mMap.getUiSettings().setZoomGesturesEnabled(false);
    mMap.getUiSettings().setScrollGesturesEnabledDuringRotateOrZoom(false);
于 2020-03-13T05:46:49.503 回答
0

You don't have to set this in code. You can configure the gestures from 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" />

As well as uiScrollGestures, you can set uiZoomGestures, uiTiltGestures, and uiRotateGestures.

See XML Attributes documentation.

于 2019-10-05T04:44:25.193 回答