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
,您还可以设置uiZoomGestures
、uiTiltGestures
和uiRotateGestures
。
请参阅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 服务的设备上运行?