1

我在 xml 文件中初始化我的 MapFragment 时遇到问题,我不明白为什么它以一种方式工作,而不是另一种工作方式。

在开发过程中,我的主要活动中首先只有一个 MapFragment。这很好用:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraTargetLat="22.320542"
map:cameraTargetLng="114.185715"
map:mapType="normal"
map:cameraZoom="11"
/>

它以适当的缩放级别打开了我的地图,重点关注香港。但是现在我在布局中添加了更多元素,因为我不能再使用map:名称空间了。它被 Eclipse 拒绝。

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

<ProgressBar
    android:id="@+id/progressBar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/current" />

        <TextView
            android:id="@+id/textCurrent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/forecast" />

        <TextView
            android:id="@+id/textForecast"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </TableRow>
</TableLayout>

</LinearLayout>
<fragment 
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment"
/>   
</LinearLayout>

现在我已经找到了从代码设置地图选项的方法,比如这里这里——这不是这里真正的问题。这不是我希望解决的方式,但它是可以接受的。我主要是想了解为什么第二种方法不起作用?地图名称空间在开头声明,以及明显存在于整个 xml 中的 android 名称空间。

4

2 回答 2

3

这看起来像是工具中的错误。我已经提交了一个关于它的问题。你可能想给它加星标或以其他方式安排跟踪它,看看它是否真的是一个错误,是否得到修复等。

于 2013-03-16T16:26:14.617 回答
0

看起来像 Eclipse 中的一个错误 - 通过清理和重建项目来解决。

于 2013-09-16T18:15:57.283 回答