如何为 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"/>
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"/>