Android Google Maps:禁止在MapFragment中拖动

问题描述 投票:54回答:5

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

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

android google-maps drag mapfragment
5个回答
85
投票

我认为这是您要寻找的:

内部Google Maps Android v2

滚动(平移)手势

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


100
投票

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

googleMap.getUiSettings().setScrollGesturesEnabled(false);

9
投票

用于禁用拖动MapFragment此代码:

googleMap.getUiSettings().setScrollGesturesEnabled(false);

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

googleMap.getUiSettings().setZoomGesturesEnabled(false);

4
投票

您可以将isScrollGesturesEnabled用于地图

java:

googleMap.getUiSettings().setZoomGesturesEnabled(false);

kotlin

googleMap?.uiSettings?.isScrollGesturesEnabled = false

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文档。

© www.soinside.com 2019 - 2024. All rights reserved.