it-swarm.com.de

Google Maps funktioniert nicht mit dem iPhone-Simulator

Ich habe Schritt für Schritt das "Erhalten des Google Maps SDK für iOS" implementiert

endlich läuft der simulator ok keine fehler gefunden aber die karte hat keine details außer der markierung.

Wie auf dem Bild gezeigt: 

Screnshot of simulator

Auch die Ausgabe auf der Unterseite hat diese Nachricht:

2012-12-23 01: 06: 59.869 GogleMap [3680: c07] Für GMSZoomTableQuadTree fehlt die Zoom-Grundtabelle für den> Fliesentyp (mapType: 10) 2012-12-23 01: 07: 00.042 GogleMap [3680: 1b03] Google Maps-SDK für iOS-Version: 1.0.1.1154 2012-12-23 01: 07: 00.375 GogleMap [3680: c07] ClientParametersRequest ist fehlgeschlagen, 3 Versuche> verbleibend. Fehler Domain = DASHConnectionError Code = 100 "Der Vorgang konnte nicht abgeschlossen werden. (DASHConnectionError-Fehler 100.)"

Helfen Sie bitte und danke im Voraus.

24
Aj-Ksa

@ user1924208 Ich habe das gleiche Problem. Ich habe das Internet unermüdlich nach der Antwort gesucht und leider denke ich, dass wir kein Glück haben. Die Google API-Konsole zeigt Ihnen wahrscheinlich den API-Schlüssel für Google Maps Version 3 an, bei dem es sich NICHT um den Google Maps-iOS-API-Schlüssel handelt. Wenn Sie diesen als API-Schlüssel verwenden, schlägt die Validierungsanforderung daher immer fehl.

Es scheint, als hätten sie aus irgendeinem Grund nicht viele API-Schlüssel für die iOS-Version ausgegeben. So frustrierend es auch sein mag, Sie müssen nur warten, bis Sie eine E-Mail von ihnen erhalten (nicht wirklich sicher, wann das sein wird ...).

Sie können dies bestätigen, da das Ersetzen des aktuellen API-Schlüssels durch eine beliebige zufällige Zeichenfolge zu den gleichen Ergebnissen führt. Übrigens führt dies auch zu den gleichen Ergebnissen sowohl auf dem Simulator als auch auf einem realen Gerät, das ich getestet habe.

Update

Ich habe gerade eine E-Mail von Google Maps erhalten, dass mein API-Schlüssel jetzt verfügbar ist. Ich habe das MKMapKit mit GMSServices ausgetauscht und die Dinge funktionieren. Es scheint, als wären sie ein bisschen wohler mit dem Freigeben von API-Schlüsseln, also werden Sie hoffentlich bald Ihre bekommen. 

8
manderson

Gelöst: Ich denke, wir haben alle einen kleinen, aber sehr wichtigen Schritt übersprungen.

Aktivieren Sie zunächst das Google Maps-SDK für iOS-Dienst in der Google APIs Console neben anderen Google-APIs.

enter image description here

Sobald Sie GoogleMap SDK für iOS in der Google APIs Console aktivieren, lädt Ihre App die Kacheln beim nächsten Durchlauf korrekt. Viel Glück!

51
iksnae

Stellen Sie sicher, dass Sie auf der Registerkarte Dienste auch "Google Maps SDK für iOS" aktiviert haben.

Ich erhielt einen ähnlichen Fehler, bis mir klar wurde, dass ich nur einen API-Schlüssel generiert hatte, aber vergaß, den Dienst zu aktivieren. Mein Problem gelöst.

SDKDemos[160:907] ClientParametersRequest failed, 0 attempts remaining (0 vs 5). 
Error Domain=com.google.Maps.GMSDASHConnection Code=100 
"The operation couldn’t be completed. (com.google.Maps.GMSDASHConnection error 100.)"
5
mars271

Ich hatte ein ähnliches Problem, aber ich war mir sicher, dass der API-Schlüssel gut war, da das Beispielprojekt aus dem SDK-Paket mit dem in der eigentlichen App verwendeten Schlüssel-Bundle-ID-Paar zusammenarbeitete. Die neueste (1.2) Version von sdk meldet tatsächlich eine Warnung ab, wenn Ihr API-Schlüssel nicht gültig zu sein scheint .. Der Grund dafür, dass die Karte nicht angezeigt wurde, war, dass ich keine Build-Nummer auf der Registerkarte "Zielübersicht" eingegeben habe der Projekteinstellungen. Es stellt sich heraus, dass Sie unbedingt CFBundleVersion in Ihrer Info.plist setzen müssen, damit die Google-Map funktioniert. Andernfalls bleibt die Map leer, und es werden keine Fehler oder Warnungen angezeigt oder Webanfragen gestellt.

3
borisgolovnev

Ich hatte das gleiche Problem. Ich denke, das Problem ist, dass sich mein "Bundle Identifier" meines Projekts von einem der Bundle Identifier in meiner Google APIs Console unterscheidet

Ich füge also mehr Paket-Indentifer für meine Google APIs Console hinzu: Wählen Sie Ihr Projekt selbst im Projekt-Navigator aus und wählen Sie das Ziel Ihrer Anwendung. Merken Sie sich in Tab Summary Ihre Zeichenfolge in Bundle Identifier

Gehen Sie zur Seite "Google APIs Console", wählen Sie in der Konsole den Bereich "API-Zugriff" aus, suchen Sie den Abschnitt Schlüssel für iOS-Apps, wählen Sie "Erlaubte iOS-Apps bearbeiten ..." und fügen Sie Ihren Bündel-Identifikator hinzu, an den Sie sich oben erinnern. Wiederhole dein Projekt und fertig!

2
Dung Nguyen

Important: Wenn Sie Google Maps von iOS-Geräten aus üben möchten, laden Sie einfach das - GoogleMaps.framework herunter.

Unbewusst habe ich GoogleMapsM4B.framework heruntergeladen und Probleme wie "Ihr Schlüssel ist möglicherweise ungültig für Ihre Bundle-ID: com.company.example".

Wenn Sie GoogleMapsM4B.framework in Ihrem Projekt verwenden möchten, dann 1.Sie sollten Support im Enterprise-Support-Portal (Website von Google) anfordern 2.Sie müssen Google Maps Mobile SDK für Arbeit und nicht Google Maps SDK für iOS auf der Konsolen-Website von Google aktivieren. 

Wenn Sie GoogleMaps.framework nicht GoogleMapsM4B (Maps for Business) verwenden möchten, müssen Sie kein Support Center anfordern. Sie müssen lediglich Google Maps SDK für iOS in der Konsolen-Website von Google aktivieren.

Sie können die wichtigsten Unterschiede zwischen dem Google Maps-SDK für iOS und dem Google Maps Mobile-SDK for Work (M4B) finden.

und importieren Sie GoogleMaps/GoogleMaps.h in Ihre Datei und geben Sie Ihren API-Schlüssel an die folgende Methode weiter:

[GMSServices provideAPIKey:@“Your API Key“];

(oder)

Wenn Sie über eine gültige Lizenz verfügen, laden Sie GoogleMapsM4B.framework herunter, importieren Sie GoogleMapsM4B/GoogleMaps.h in Ihre Datei und übergeben Sie die API an dieselbe Methode [GMSServices provideAPIKey:@“Your API Key“] Ich denke jedoch, dass Sie diesen Schlüssel erst nach dem Kauf einer Lizenz erhalten.

Das Hauptproblem, mit dem ich konfrontiert bin, ist ... Anstatt GoogleMaps.framework herunterzuladen, habe ich GoogleMapsM4B.framework heruntergeladen und meinem Projekt hinzugefügt. Jedes Mal, wenn ich mein Projekt ausführte, gab es eine Fehlermeldung, dass "Ihr Schlüssel für Ihre Bundle-ID ungültig ist: com.example.sampleapp" 

Jetzt funktioniert mein Projekt richtig.

1
SivaCherukuri

Ich hatte das gleiche Problem, dann ging ich zur Google-Konsole und klickte auf " Neuen Schlüssel generieren " und der neue Schlüssel funktionierte!

1
Felipe Braz

Nachfolgend aus einem anderen Blickwinkel: 

In späteren Versionen des Google Maps-Frameworks gab es einen Fehler, der verhinderte, dass Karten instanziiert/erstellt/zum Superview hinzugefügt werden konnten, wenn sich die App im Hintergrund befand.

Wenn Sie dies getan haben, wird die resultierende Karte mit Ausnahme des Google-Logos unten links als vollständig leer angezeigt. Der Grund dafür ist, dass das OpenGL-Rendering im Hintergrund des Betriebssystems nicht zulässig ist. Sie mussten lediglich den Renderer neu starten, sobald er in den Vordergrund gerückt war.

Google hat finally behoben (nach etwa einem Jahr). Aktualisieren Sie daher bitte auf den neuesten Stand.

Wenn Sie Google for Business verwenden:

pod 'Google-Maps-iOS-SDK-for-Business', '~> 1.11.1'

Eine Reproduktion dieser Ausgabe ist hier für ältere Versionen.

Visual Repro:

 OpenGL Bug

1
iwasrobbed

Habe das gleiche Problem. Sicher hat alles richtig gemacht .. Und der Punkt war, dass Ihr API-Schlüssel braucht etwas Zeit, um funktionieren zu können (möglicherweise werden Informationen darüber über Google-Server verbreitet, was bedeutet, dass Ihr nächster Server noch nicht über den neuen Server informiert war) API-Schlüssel).

In etwa 5 Minuten, nachdem die Fehler beim Erstellen des API-Schlüssels gestoppt wurden, ist der API-Schlüssel vollständig funktionsfähig. (Hinweis: Ich habe keine E-Mails von Google erhalten).

0
MANIAK_dobrii

Das Erste ist, dass Ihre Schlüssel richtig sind. Dann prüfen Sie, ob Sie Google Maps SDK für iOS aktiviert haben. Dann App auf Gerät ausführen und nicht auf einem Simulator. 

0
Saqib Omer

Stellen Sie sicher, dass Sie Ihre nicht geändert haben 

[ Bündelkennung

für die App. Es sollte mit dem übereinstimmen, den Sie beim Generieren von API-Schlüsseln verwendet haben.

0
MadNik

Dies hat mir geholfen: (Misspelt-API-Schlüssel, da XCode ursprünglich einen Fehler zurückgegeben hat, es sei denn, API wurde von {} IOS umgeben) - ObjC Google Maps - API-Schlüssel

0
jkd359

Ein anderer führt nach oben! Stellen Sie sicher, dass die Bundle-ID Ihrer App mit der im Feld "iOS-Apps" in Google APIs Console definierten Bundle-ID übereinstimmt.

0
PinkFloydRocks

versuchen Sie, den API-Schlüssel nicht auf Konstanten zu speichern. Übergeben Sie den Wert direkt. Wenn dies nicht funktioniert, versuchen Sie, die API-Schlüsselzuordnung zu regenerieren 

MapServices.ProvideAPIKey ("AIzaSyAnxfhuAwEqdVhQpoUkGFZpsBukOSXVFr0");

glückliche Codierung :) 

0
SARATH SASI

für mich lag es daran, dass die Bundle-ID meiner App geändert wurde. Nachdem Sie den neuen API-Schlüssel für die neue Bundle-ID verwendet haben, kann er wieder funktionieren.

0
sahan maldeniya

Sieht aus, als hätten Sie keinen gültigen API-Schlüssel angegeben. Hast du eins?

0
Lee Armstrong

Dieser Fehler weist auf einen ungültigen Schlüssel hin, der zum Initialisieren von Google Maps verwendet wurde:

[GMSServices provideAPIKey:@"YOUR_API_KEY"];

Der Schlüssel wird von Google speziell für das iOS-SDK ausgegeben (anscheinend nur für einige ausgewählte). Die Schlüssel für Google Maps SDK v2 und v3 funktionieren auf Apple nicht.

Um zu bestätigen, dass der Fehler tatsächlich durch einen ungültigen Schlüssel verursacht wurde, können Sie einen Pin anzeigen. Für Pushpin ist kein gültiger Schlüssel erforderlich, sodass er auf einem leeren Kartenansichtobjekt sichtbar ist. Codieren des Beispiels von der Seite "Erste Schritte" https://developers.google.com/maps/documentation/ios/start#add_a_map sollte dazu führen, dass die App eine leere Kartenansicht (mit gelblichem Hintergrund und einem Pin in der Anzeige) anzeigt Center).

Der beste Weg, um sicherzustellen, dass der Pin sichtbar ist, besteht darin, für die Kamera und den Marker genau dieselben Koordinaten zu verwenden. 

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:43.65
                                                        longitude:-79.45
                                                             zoom:6];

mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

mapView_.myLocationEnabled = YES;
self.view = mapView_;

GMSMarkerOptions *markerOptions = [[GMSMarkerOptions alloc] init];
markerOptions.position = CLLocationCoordinate2DMake(43.65, -79.45);
markerOptions.title = @"Greater Toronto Area";

[mapView_ addMarkerWithOptions:markerOptions];
0
Vitali Tchalov

Ich habe dieses Problem wie folgt gelöst.

  1. Gehe zu Google Maps API Console (alt) . Der aktivierte Dienst war Google Maps SDK für iOS und die Google Street View-Bild-API.
  2. Ich habe die Google Street View-Image-API deaktiviert.
  3. Und dann wird kein Fehler mehr ausgegeben.
0
Shinurag KR