2013-06-07 11 views
6

Çok fazla araştırma yaptıktan ve bir şey bulamadıktan sonra ... hızlı soru, Android Studio'nun neden Harita etiketini almadığı konusunda bir fikri yok mu? Aşağıdaki kod SDK'daki harita örneğinin bir parçasıdır. Zaten google oyun hizmetleri lib ve destek ekledi, ancak hiçbir şey.Android Studio: xmlns: harita çalışmıyor

Bu hatayı önceden

Unexpected namespace prefix "map" found for tag fragment. 

Çok teşekkürler gösteriyor!

<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

bu Eclipse böcek gibi bir çok Sesler:: Üst bir düğme ve hatasız benim çalışma harita düzeni var

https://code.google.com/p/android/issues/detail? id = 53283 – CommonsWare

+0

Bu yüzden tek çözüm, xml dosyası yerine java kodunda yapmanın doğru mu? Teşekkürler! – davidcv5

+0

Evet, AFAIK bunu işe koymanın tek güvenilir yolu, Java koduyla gerçekleşiyor. Bu umarım birgün düzeltilebilecek bir hatadır ... – CommonsWare

cevap

0

Bu sorunu da yaşadım. Proje/Temizlik yaptım ve hata gitti ve şimdi iyi çalışıyor. Bu, harita ad alanının, kullanıldığı yerde uygun bir şekilde tanımlandığını varsayar.

0

0.5.8 çalıştırıyorum ve XML görüntüleyici harita ile attrs altını çiziyor: - Ancak uygulama iyi çalışıyor. YMMMV.

2

Harita parçasını FrameLayout'a taşıdıktan sonra aynı sorunu yaşadım (böylece haritanın üstüne bir düğme ekleyebilirim).

ben Android uygulamaları ve XML bir çaylak olduğum gibi ben gerçekten ne yaptığımı bilmiyorum, ama ben de dahil olmak üzere hile yapmaya çalıştı

:-) çözüm bulduğunu görünüyor ayrı bir dosyadan ('include' yönergesini kullanarak) bir parça ve herhangi bir isim-alanı tanımlaması olmadan çıplak harita parçasını koyduğumda bana 2 seçenek önerdi: xmlns: map = "http://schemas.android.com/apk/res- auto " xmlns: map =" http://schemas.android.com/tools " Belki de 2. dosya orijinal dosyada çalışacağını fark ettim (orijinal dosyada Android Studio'nun teklif etmemesine rağmen, sadece 1 Bunun yerine).

Sonuç: xmlns: harita = "http://schemas.android.com/apk/res-auto" Bununla : xmlns: map = "http: // şemalar Sadece bu satırı değiştirin. android.com/tools "

ANLAŞILMIŞ OLDUĞUM GİBİ - BENİM BİR NOOB VE MAYBE BENİM ÇÖZÜM GOT BAZI YAN ETKİLER OLARAK SÖYLÜYORUM LÜTFEN BUNU BİLİYORUM (her şeye rağmen gayet iyi çalışıyormuş gibi görünüyor ...).

<?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" benim için hile yaptı. –

+0

Bu sadece "map" ismiyle "araçlar" ad alanıdır. Aynı değil. – alexpfx