如何为 Android Google 中的 MapFragment 设置精简模式?

How to make set lite mode for Android Google MapFragment in XML?

Android docs 声明在 XML 中创建 MapFragment 的最简单方法如下:

<fragment
    class="com.google.android.gms.maps.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

如果以这种方式创建 MapFragment,如何将精简模式设置为 true

在xml

   <fragment mlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        android:name="com.google.android.gms.maps.MapFragment"
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        map:cameraZoom="13"
        map:mapType="normal"
        map:liteMode="true"/>

在 GoogleMapOptions 对象中

GoogleMapOptions options = new GoogleMapOptions().liteMode(true);

显然,将地图片段作为子项添加到父容器时存在错误。我通过首先像这样更改父容器的命名空间来解决这个问题:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto">

现在,问题是片段中标记了一个无效错误 (Unexpected namespace prefix "map" found for tag fragment)。在 Android Studio 中解决这个问题的最简单方法是添加 tools:ignore="MissingPrefix。这是我为片段完成的 XML 代码:

<fragment
    class="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="wrap_content"
    android:layout_height="300dp"
    tools:ignore="MissingPrefix"
    map:liteMode="true"/>