我正在像这样膨胀我的碎片:
GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.MapFragment_map_Fragment)).getMap(); 现在我有自己的选择:
GoogleMapOptions options = new GoogleMapOptions();
options.mapType(GoogleMap.MAP_TYPE_SATELLITE);在文档中,我看到我需要使用以下内容:
若要在创建地图时应用这些选项,请执行以下操作之一: 如果使用的是MapFragment,则使用MapFragment.newInstance(GoogleMapOptions options)静态工厂方法来构造片段并传递自定义配置的选项。
但我不明白我该怎么用这个。
发布于 2014-02-27 12:41:07
我认为,只有在以编程方式创建地图视图(将选项传递给MapFragment.newInstance()方法- 文档)时,才能使用MapFragment.newInstance()。您正在从xml中膨胀MapFragment,因此您将无法以这种方式使用它们。在您的情况下,仍然可以使用GoogleMap设置程序或UiSettings更改映射选项。
例如:
GoogleMap googleMap = ((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.map_fragment)).getMap();
googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
googleMap.getUiSettings().setMyLocationButtonEnabled(true);发布于 2017-04-06 02:13:05
我以编程方式使用LiteMode,而不是在XML文件中设置MapView和MapFragment的属性。试试这个:
GoogleMapOptions googleMapOptions = new GoogleMapOptions().liteMode(true);
googleMap.setMapType(googleMapOptions.getMapType());或者在XML中:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.mapslastapp.MapsActivity"
    map:liteMode="true"
    map:cameraZoom="16"
    map:mapType="normal"/>https://stackoverflow.com/questions/22068451
复制相似问题