我正在尝试使用带有禁用缩放手势等选项的谷歌地图。我在下面的代码中添加了 GoogleMapOptions,就像我在网上随机源代码中看到的一样。问题是它根本不起作用,我可以将所有缩放控件设置为 false,但是当我运行它时它似乎并没有改变我的应用程序。
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GoogleMapOptions options = new GoogleMapOptions();
options.zoomGesturesEnabled(false);
MapFragment.newInstance(options);
map = ((MapFragment) getFragmentManager()
.findFragmentById(R.id.map)).getMap();
有人能告诉我我的代码有什么问题吗?
最佳答案
而不是使用
GoogleMapOptions options = new GoogleMapOptions();
options.zoomGesturesEnabled(false);
MapFragment.newInstance(options);
map = ((MapFragment) getFragmentManager()
.findFragmentById(R.id.map)).getMap();
您可以获得 GoogleMap 对象的 UISettings 并根据需要使用它们。 例如,如果你想禁用缩放手势,你可以简单地在 getMap() 函数之后添加:
map.getUiSettings().setZoomGesturesEnabled(false);
以同样的方式,您还可以禁用默认缩放控件(“+”和“-”按钮用于放大和缩小):
map.getUiSettings().setZoomControlsEnabled(false);
并管理其他典型的 GoogleMaps 交互(罗盘控制、倾斜、滚动和旋转交互)。
此外,您可以使用
一次性禁用所有功能map.getUiSettings().setAllGesturesEnabled(false);
请注意,如果您将 map 作为 ViewPager 中的 fragment ,则: mMap.getUiSettings().setScrollGesturesEnabled(false); 您可以让控制左右滚动到 PagerAdapter 而不是让它们具有 map 滚动的效果。
问候, 安德里亚
关于android - 使用 Google map 选项初始化 map fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652400/