我像这样膨胀我的片段:
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.MapFragment_map_Fragment)).getMap();
在这里我有我的选择:
GoogleMapOptions options = new GoogleMapOptions(); options.mapType(GoogleMap.MAP_TYPE_SATELLITE);
在documentation中我看到我需要使用它:
To apply these options when you are creating a map,do one of the
following:If you are using a MapFragment,use the
MapFragment.newInstance(GoogleMapOptions options) static factory
method to construct the fragment and pass in your custom configured
options.
但我不明白我怎么想用这个.
解决方法
我认为只有在以编程方式创建地图视图时才能使用GoogleMapOptions(将选项传递给MapFragment.newInstance()方法 –
docs).您正在从xml中膨胀MapFragment,因此您无法以这种方式使用它们.在您的情况下,您仍然可以使用GoogleMap setter或UiSettings更改地图选项.
例如:
GoogleMap googleMap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map_fragment)).getMap(); googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); googleMap.getUiSettings().setMyLocationButtonEnabled(true);