当用户用手指拖动地图时,我能否禁用拖动功能,而不影响放大和缩小?
请有经验的人给出实现这一点的建议! 感谢您宝贵的帮助!!
当用户用手指拖动地图时,我能否禁用拖动功能,而不影响放大和缩小?
请有经验的人给出实现这一点的建议! 感谢您宝贵的帮助!!
您可以使用以下方式在MapFragment
中禁用拖动:
googleMap.getUiSettings().setScrollGesturesEnabled(false);
我认为这就是您要找的内容:
滚动(平移)手势
用户可以通过用手指拖动地图来在地图上滚动(平移)。您可以通过调用 UiSettings.setScrollGesturesEnabled(boolean) 来禁用滚动。
要禁用MapFragment
中的拖动,请使用以下代码:
googleMap.getUiSettings().setScrollGesturesEnabled(false);
如@tomrozb所说,它可以正常工作。 但是它不能通过在地图上触摸来禁用地图缩放。为此,请在上述代码旁使用以下代码:
googleMap.getUiSettings().setZoomGesturesEnabled(false);
googleMap.getUiSettings().setZoomGesturesEnabled(false);
Kotlin:
googleMap?.uiSettings?.isScrollGesturesEnabled = false
mMap.getUiSettings().setScrollGesturesEnabled(false);
mMap.getUiSettings().setZoomGesturesEnabled(false);
mMap.getUiSettings().setScrollGesturesEnabledDuringRotateOrZoom(false);
您不需要在代码中设置此项。您可以从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
。 @Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
//Hide zoom controls or buttons
mMap.getUiSettings().setZoomControlsEnabled(false);
//Restrict zoom gestures
mMap.getUiSettings().setZoomGesturesEnabled(false);
}```