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>
ここやここのように、コードからマップオプションを設定する方法をすでに見つけました。これは、ここでは実際には問題ではありません。それは私がそれを解決したいと思っている方法ではありませんが、それは受け入れられます。私は主に2番目の方法が機能しない理由を理解しようとしていますか?マップの名前空間は、xml全体に明らかに存在するAndroidの名前空間とともに最初に宣言されます。