2013-06-07 10 views
6

多くの調査をしても何も見つからない...簡単な質問がありますが、Androidスタジオがマップタグを使用していない理由は誰にも分かりますか?以下のコードは、SDKのマップサンプルの断片です。既にGoogleのサービスのlibとサポートを再生するが、何も追加されていません。Androidスタジオ:xmlns:マップが機能しない

それはエラーに事前に

Unexpected namespace prefix "map" found for tag fragment. 

おかげで多くのことを示しています!

<fragment 
    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:cameraZoom="10" /> 
+0

が多く、このEclipseのバグのような音:https://code.google.com/p/android/issues/detail?id = 53283 – CommonsWare

+0

唯一の解決策は、xmlファイルではなくjavaコードで行うことです。ありがとうございます! – davidcv5

+0

はい、AFAIKはこれを動作させる唯一の信頼できる方法はJavaコードを使用する方法です。これはうまくいけばうまくいけばいつか固定されるバグです... – CommonsWare

答えて

0

この問題もありました。私はProject/Cleanをやったが、エラーはなくなり、今は正常に動作する。これは、マップ名前空間が使用されている場所の上で適切に定義されていることを前提としています。

0

私は0.5.8を実行していますが、XMLビューアは地図でattrsに下線を引いていますが、アプリはうまく構築されています。 YMMMV。

2

マップフラグメントをFrameLayoutに移動すると、同じ問題が発生しました(マップ上にボタンを追加することができます)。

私はAndroidアプリとXMLでnoobのだと私は本当にやったのか分からないが、それは私が私を含むトリックを作ってみました

:-)解決策を見つけたことになります( 'include'ディレクティブを使用して)別のファイルからフラグメントを作成し、一度私は2つのオプション: xmlns:map = "http://schemas.android.com/apk/res- auto " xmlns:map =" http://schemas.android.com/tools " 元のファイルでは2番目のファイルが機能するかもしれないことに気付きました(元のファイルではAndroid Studioはそれを提案していませんが、 1つ)。

結論: のxmlns::マップ= "http://schemas.android.com/apk/res-auto" これで : のxmlns:マップ= "のhttp://スキーマ はちょうどこの行を変更します。 android.com/tools "

私は言いました - 私はNOOBであり、私の解決策にはいくつかの副作用がありますので、私に知らせてください(これまでにすべてがうまくいっていたようですが...)。

トップとエラーなしのボタンで自分の作業マップレイアウトです:

<?xml version="1.0" encoding="utf-8"?> 
 

 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 
    xmlns:tools="http://schemas.android.com/tools" 
 
       
 
    xmlns:map="http://schemas.android.com/tools" 
 
       
 
    tools:context="com.maverickrider.myapp.inviteActivity.MapsActivity" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:background="@color/purpura_E51B4A"> 
 

 
<fragment 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" 
 
    android:id="@+id/map" 
 
    android:name="com.google.android.gms.maps.MapFragment" 
 

 
    map:cameraTargetLat="51.513259" 
 
    map:cameraTargetLng="-0.129147" 
 
    map:cameraTilt="30" 
 
    map:cameraZoom="13" 
 
    /> 
 

 
<Button 
 
    android:id="@+id/startActivityButton" 
 
    android:layout_width="wrap_content" 
 
    android:layout_height="wrap_content" 
 
    android:gravity="center_horizontal|center_vertical" 
 
    android:onClick="cokolwiek" 
 
    android:text="Baton z dupy" 
 
    android:layout_alignParentBottom="true" 
 
    /> 
 

 
</FrameLayout >

+0

xmlns:map = "http://schemas.android.com/tools"は私のためのトリックでした。 –

+0

これは単に名前が "map"の "tools"名前空間です。それは同じではありません。 – alexpfx

関連する問題