Google Maps auf Android funktioniert nicht auf der App, aber Demo ist in Ordnung

9

Ich kann Google Maps nicht in meiner App verwenden.

Ich sehe einen leeren Bildschirm; keine Raster, nur das Google-Logo und die +/- Zoom-Buttons.

Was ich getan habe:

  • Ich habe die API "Google Maps Android API v2" aktiviert
  • Ich habe mein Projekt zusammen mit dem Demo-Projekt zur API-Berechtigungsliste in der Google-Konsole
  • hinzugefügt
  • Ich habe außerdem die erforderlichen Berechtigungen für das Internet, location, com.google.android.providers.gsf.permission.READ_GSERVICES, hinzugefügt.
  • Es wurde sogar die Berechtigung "MAPS_RECEIVE" hinzugefügt, da einige Beiträge vorgeschlagen wurden
  • Auch die 'Metadaten' google_play_services_version
  • wurden hinzugefügt

Da die Demos funktionieren, habe ich MultiMapDemoActivity und seine Dateien in mein Projekt kopiert und versucht, die Karte zu öffnen, ohne Erfolg.

Das Problem ist möglicherweise mit dieses Problem. Es scheint jedoch so, als könnten sie die Karte überhaupt nicht zur Arbeit bringen.

Hier ist das Interessante, das mir aufgefallen ist: Normalerweise bekomme ich das:

%Vor%

Gefolgt von diesem:

%Vor%
  • Auch nicht sicher, ob dies relevant ist, aber sobald ich die Karte öffne oder auf die Karte klicke, nachdem sie geöffnet wurde und eine leere Ansicht anzeigt, sehe ich folgendes:

    %Vor%

EDIT # 1

%Vor%

BEARBEITEN # 2 Außerdem war der deklarierte Paketname com.A.B.C (das Manifest); in der Erwägung, dass die Aktivitäten meines Projekts die Struktur von com.A.B .. hatten.

Ich habe seitdem meine Projektstruktur aktualisiert, um mit der des Manifests übereinzustimmen, aber ich sehe immer noch dieselben Fehler wie zuvor, nichts ändert sich. Ich bin hier wirklich auf See, da ich nicht verstehen kann, was hier schief gehen könnte.

Einige Hilfe, um dies zu lösen, wird geschätzt, danke!

    
Hahn 02.10.2014, 07:31
quelle

6 Antworten

3

Es stellt sich heraus, dass ich hier n-1 Fragen zu diesem Thema gelesen habe. Schließlich stolperte ich nach ständiger Suche überall auf die Antwort hier von @Jack.

Grundsätzlich war die Zeile: "HttpsURLConnection.setDefaultSSLSocketFactory(...)" der Täter in meinem Code. Ich habe es auskommentiert und alles hat gut funktioniert.

HINWEIS: Ich habe nicht versucht, die Codezeile beizubehalten und sie so zu modifizieren, dass Karten noch funktionieren. Wenn ich es brauche, mache ich einen Kommentar.

    
Hahn 08.10.2014, 07:19
quelle
2

Sie müssen Ihren SHA1-Fingerabdruck zum öffentlichen API-Zugriff hinzufügen. Gehe zu Eclipse & Gt; Präferenzen. Android & gt; Erstellen und kopieren Sie Ihren Standard-Eclipse-SHA1-Fingerabdruck.

Gehen Sie nun zu Ссылка und wählen Sie Ihre App, "APIs und Auth" & gt; 'Anmeldeinformationen' & gt; und klicken Sie auf "Edit erlaubte Android-Anwendungen" setzen Sie Ihre SHA1 figgerfirnt so:

XX: XX: XX: XX: XX ... XX; com.Ihr.pakage.app

    
mgonzalez 07.10.2014 12:55
quelle
1

Was ist mit Ihrem Google-Schlüssel? Diese Zeile in der Manifest-Datei:

<meta-data android:name="com.google.android.maps.v2.API_KEY" ....

Ich kämpfe auch ständig mit einem solchen Verhalten. Das erste, was Sie in solchen Situationen überprüfen möchten, ist, dass Ihr Schlüssel aus der Datei debug.keystore tatsächlich der ist, den Sie bei Google registriert haben. Dieser Schlüssel wird verwendet, wenn Sie Ihre Anwendung lokal debuggen.

Beachten Sie jedoch, dass Sie eine andere Keystore-Datei benötigen, wenn Sie Ihre Anwendung freigeben. Zum Zeitpunkt der Unterzeichnung sollten Sie einen weiteren Schlüsselspeicher erstellen und ihn auch bei Google registrieren.

    
Gen 05.10.2014 23:04
quelle
1

Ich hatte auch dieses Problem und es dauerte so viele Stunden, um es zu lösen, endlich habe ich diese Schritte gemacht und es hat endlich funktioniert!

  • Führen Sie die gleichen Schritte wie hier aus Ссылка aus
  • Verwenden Sie den Fingerabdruck des Debug-Zertifikats, wenn Sie Ihr Projekt anstelle des Veröffentlichungszertifikats testen, das Sie bei der Installation Ihrer App im Play Store verwenden.
  • Vergessen Sie nicht, den Wert der Google API hinzuzufügen und den "API_VALUE" damit zu ersetzen.

  • Ändern Sie Ihr Projektbuildziel in Google APIs: Projekt & gt; Eigenschaften & gt; android & gt; Ziel.

Hoffe das hilft ..

    
Sarroo 01.11.2014 15:11
quelle
0

Dies sind die Berechtigungen, die Sie gemäß der Google Dokumentation benötigen:

%Vor%

Ich empfehle Ihnen, dies auch zu berücksichtigen:

%Vor%     
dev.mi 02.10.2014 07:55
quelle
-3

Fügen Sie diese in Ihrer Manifestdatei hinzu

%Vor%

Ersetzen Sie xxx.xxxx.xxxx durch Ihren Paketnamen

    
user2139223 02.10.2014 12:19
quelle

Tags und Links