如何在XML中为Android Google MapFragment制作set lite模式?

时间:2015-01-16 06:50:39

标签: android xml google-maps

Android docs表示在XML中创建MapFragment的最简单方法是:

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

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

2 个答案:

答案 0 :(得分:8)

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

<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"/>

答案 1 :(得分:2)

在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);