Android Google地图:禁用MapFragment中的拖动功能

时间:2013-06-07 08:30:18

标签: android google-maps drag mapfragment

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

任何人请建议这样做的想法!   感谢您的宝贵帮助!!

6 个答案:

答案 0 :(得分:99)

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

googleMap.getUiSettings().setScrollGesturesEnabled(false);

答案 1 :(得分:85)

我认为这就是你要找的东西:

内部Google Maps Android v2

  

滚动(平移)手势

     

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

答案 2 :(得分:9)

用于禁用MapFragment此代码中的拖动:

googleMap.getUiSettings().setScrollGesturesEnabled(false);

作为@tomrozb说道。 但它不能通过触摸在地图上禁用地图缩放。为此,使用上面代码旁边的代码:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

答案 3 :(得分:3)

您可以将isScrollGesturesEnabled用于地图

java:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

kotlin

googleMap?.uiSettings?.isScrollGesturesEnabled = false

答案 4 :(得分:3)

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

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

答案 5 :(得分:0)

您不必在代码中进行设置。您可以从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文档。