如何在Android地图片段中禁用地图旋转功能

37
我使用Google Maps Api Version 2 for Android 将MapFragment添加到我的应用程序中。
这个Fragments在速度和API的可用性方面都有很大的改进,但不幸的是,它也允许使用两个手指旋转地图。我想禁用旋转功能,因为这个手势经常被错误地识别为缩放手势。
如何禁用地图旋转?
3个回答

100
如果您在文档的正确位置查找,那么这将变得很简单。GoogleMap内有一个UiSettings类,允许启用和禁用手势。
  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps_fragment);
  GoogleMap map = mapFragment.getMap();
  map.getUiSettings().setRotateGesturesEnabled(false);

2
你应该接受你的答案--或者删除这个问题,因为在Demo-App中甚至显示了如何打开和关闭所有这些功能... - Ridcully
我也尝试找到禁用缩放按钮的方法,最终在getUiSettings().setZoomControlsEnabled(false)中找到了。 - Amt87

0

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); mapFragment.getMapAsync(this);

在onMapReady方法中插入以下代码:

mMap.getUiSettings().setRotateGesturesEnabled(false);


0
如果您是通过以下代码创建您的谷歌地图:
GoogleMapOptions googleMapOptions = new GoogleMapOptions();
...
mapFragment = SupportMapFragment.newInstance(googleMapOptions);

然后你也可以像这样禁用旋转手势:

GoogleMapOptions googleMapOptions = new GoogleMapOptions();
...
googleMapOptions.rotateGesturesEnabled(false);
mapFragment = SupportMapFragment.newInstance(googleMapOptions);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接