2013-06-07 7 views
6

Dopo aver fatto molte ricerche e non aver trovato nulla ... una domanda veloce, qualcuno ha un'idea del motivo per cui Android Studio non sta prendendo il tag Mappa? Il codice seguente è un frammento dell'esempio di mappe nell'SDK. Già aggiunto servizi di gioco di google lib e supporto, ma niente.Studio Android: xmlns: mappa non funzionante

E 'che mostra l'errore

Unexpected namespace prefix "map" found for tag fragment. 

Grazie mille in anticipo!

<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

suona molto come questo bug Eclipse: https://code.google.com/p/android/issues/detail? id = 53283 – CommonsWare

+0

Quindi sembra che l'unica soluzione sia farlo sul codice java invece che sul file xml, corretto? Grazie! – davidcv5

+0

Sì, AFAIK l'unico modo affidabile per farlo funzionare tramite il codice Java. Questo è un bug che si spera possa essere risolto un giorno ... – CommonsWare

risposta

0

Ho avuto anche questo problema. Ho fatto Project/Clean e l'errore è andato via e ora funziona bene. Ciò presuppone che lo spazio dei nomi della mappa sia correttamente definito sopra il punto in cui viene utilizzato.

0

Sto eseguendo 0.5.8 e il visualizzatore XML sta sottolineando gli attrs con la mappa: - tuttavia l'app sta andando bene. YMMMV.

2

Ho avuto lo stesso problema dopo aver spostato il frammento della mappa in FrameLayout (così ho potuto aggiungere un pulsante in cima alla mappa).

Non so quello che ho davvero fatto come io sono un noob in applicazioni Android e XML, ma sembra che ho trovato la soluzione :-)

ho cercato di fare il trucco tra cui il frammento da un file separato (usando la direttiva 'include') e una volta inserito il frammento di mappa nudo senza alcuna definizione di spazio dei nomi, mi ha proposto 2 opzioni: xmlns: map = "http://schemas.android.com/apk/res- auto " xmlns: map =" http://schemas.android.com/tools " Mi sono reso conto che forse il 2 funzionerà nel file originale (anche se nel file originale Android Studio non lo propone, ma solo il primo uno invece).

Conclusione: basta cambiare questa linea: xmlns: map = "http://schemas.android.com/apk/res-auto" con questo: xmlns: map = "http: // schemi. android.com/tools "

COME DESCRITTO - IO SONO UN NOOB E FORSE LA MIA SOLUZIONE GLI ALCUNI EFFETTI COLLATERALI SO PER FAVORE FATEMI FARLO CONOSCERE SE COSÌ (anche se tutto sembrava funzionare bene fino ad ora ...).

Questo è il mio lavoro layout della mappa con un pulsante sulla parte superiore e nessun errore:

<?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" ha fatto il trucco per me. –

+0

questo è solo lo spazio dei nomi "tools" con il nome "map". Non é la stessa cosa. – alexpfx