2013-05-24 17 views
7

1) Jest to pokazująca pustą mapę w kolorze szarym tylko z przyciskami + (powiększanie) i - (zmniejszanie).Google Map nie wyświetla się w Androidzie

2) I wyodrębniono SHA1 klucz z debug.keystore i wygenerowany klucz MAP API V2 w konsoli .

3) I wkleił ten klucz w pliku manifestu.

4) GOOGLE MAP API V2 włączony

i używam mojego Nexus 7 do debugowania (debugowanie USB)

  • logcat Wiadomość:

Failed to załaduj mapę. Błąd podczas kontaktowania się z serwerami Google. Jest to prawdopodobnie problem z uwierzytelnianiem (ale może to być spowodowane błędami sieci ).

Proszę o pomoc, jeśli poszedłem źle w tych plikach.

AndoidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="metro.tailors" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" /> 
    <permission android:name="metro.tailors.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> 
<uses-permission android:name="metro.tailors.permission.MAPS_RECEIVE"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-feature android:glEsVersion="0x00020000" android:required="true"/> 
    <application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
     <activity 
      android:name="metro.tailors.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name="metro.tailors.FactorsActivity" 
     android:label="@string/title_activity_factors" > 
    </activity> 
    <activity 
     android:name="metro.tailors.LadiesCategoryActivity" 
     android:label="@string/title_activity_ladies_category" > 
    </activity> 
    <activity 
     android:name="metro.tailors.GentsCategoryActivity" 
     android:label="@string/title_activity_gents_category" > 
    </activity> 
    <activity 
     android:name="metro.tailors.MapActivity" 
     android:label="@string/title_activity_map" > 
    </activity> 
    <meta-data 
android:name="com.google.android.maps.v2.API_KEY" 
android:value="AIzaSyA2pMJiaPfwlz2yKaRNMZHykQkY_******"/> 

</application> 
</manifest> 

Ten plik XML z MapActivity

 <?xml version="1.0" encoding="utf-8"?> 
<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:name="com.google.android.gms.maps.MapFragment"/> 

MapActivity.java

 package metro.tailors; 

     import android.os.Bundle; 
     import android.app.Activity; 

     public class MapActivity extends Activity { 

      @Override 
      protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_map); 
      } 

     } 
+2

android: minSdkVersion = "10" powinieneś użyć fragmentu pomocy technicznej w tym przypadku. Sprawdź klucz ponownie. Sprawdź, czy masz włączone mapy w konsoli api. – Raghunandan

+0

Upewnij się także, czy prawidłowo wskazałeś bibliotekę usług Google Play – Raghunandan

Odpowiedz

7
4) GOOGLE MAP API V2 switched ON 

Należy włączyć Google Maps for Android:

enter image description here

Fragment wsparcie zacząć tylko od API > 11, więc albo zmienić plik manifest do tego lub dodać Biblioteka android-support i użyć obiektu SupportMapFragment wzdłuż boku z FragmentActivity.

Aby pobrać bibliotekę wsparcia, sprawdź poniższy link.

http://developer.android.com/tools/extras/support-library.html#Downloading

stanach doc klasa Zastosowanie MapFragment tylko jeśli są kierowane API 12 i powyżej. W przeciwnym razie użyj funkcji SupportMapFragment.

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/MapFragment.

+0

+1, aby uzyskać odpowiedź. – Raghunandan

+0

Dzięki za redagowanie @Raghunandan, nie byłem pewien poziomu pakietu, który powinien być użyty:) –

+0

Nie ma za co. Cieszę się, że mogłem dostrzec i pomóc ci w odpowiedzi. – Raghunandan

0

sprawie:

2) I extracted the SHA1 key from the debug.keystore and generated the MAP API V2 key in the console.

Nie tylko trzeba to zrobić, trzeba jeszcze dodać aplikację do listy dozwolonych aplikacji w API konsoli Google ze swoim kluczem debugowania i nazwy pakietu , jak również z kluczem magazynu produkcji i nazwą pakietu

Powiązane problemy