Fehlerbehebung

Fehler

Im Fehlerfall wird ein Fehlerantworttext im Standardformat zurückgegeben und der HTTP-Statuscode wird auf einen Fehlerstatus gesetzt.

Die Antwort enthält ein Objekt mit einem einzelnen error-Objekt mit den folgenden Schlüsseln:

  • code: Dieser Wert entspricht dem HTTP-Status der Antwort.
  • message: Eine kurze Beschreibung des Fehlers.
  • status: Ein Statuscode, der die Art des Fehlers angibt.

Wenn Sie beispielsweise einen ungültigen placeId-Parameter senden, wird der folgende Fehler zurückgegeben:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Zu den möglichen Fehlern zählen:

Code Status Nachricht Fehlerbehebung
400 INVALID_ARGUMENT Der angegebene Schlüssel ist ungültig. Ihr API-Schlüssel ist ungültig oder wurde nicht in die Anfrage aufgenommen. Achten Sie darauf, dass Sie den vollständigen Schlüssel angegeben und die API für diesen Schlüssel aktiviert haben.
400 INVALID_ARGUMENT Der Parameter „path“ enthält einen ungültigen Wert: ☃ Ihre Anfrage enthielt ungültige Argumente. Die wahrscheinlichsten Ursachen für diesen Fehler sind:
  • Ein Problem mit dem Parameter path.
    Achten Sie darauf, dass Sie mindestens einen und weniger als 100 Punkte angeben. Jeder Punkt muss ein durch ein Komma getrenntes Zahlenpaar sein, z. B. 48.409114,-123.369158. Punkte müssen durch einen senkrechten Strich getrennt werden: '|'.
  • Ihre Anfrage enthielt eine ungültige placeId.
  • Ihre Anfrage enthielt sowohl placeIds als auch ein path. Für jede Anfrage kann nur einer dieser Parameter angegeben werden.

Dieser Fehler wird nicht zurückgegeben, wenn eine placeId übergeben wird für eine Straße, die nicht mehr vorhanden ist, oder für einen Ort, der keine Straße ist.

403 PERMISSION_DENIED Die nicht registrierte Anfrage wurde blockiert. Registrieren Sie sich in der Google Developers Console. Die Anfrage wurde aus einem oder mehreren der folgenden Gründe abgelehnt:
  • Der API-Schlüssel fehlt oder ist ungültig.
  • Die Abrechnung ist für Ihr Konto nicht aktiviert.
  • Das von Ihnen festgelegte Nutzungslimit wurde überschritten.
  • Die angegebene Zahlungsmethode ist nicht mehr gültig. Das kann z. B. bei einer abgelaufenen Kreditkarte der Fall sein.

Damit Sie Google Maps Platform-Produkte nutzen können, muss die Abrechnung für Ihr Konto aktiviert sein. Außerdem müssen alle Anfragen einen gültigen API-Schlüssel enthalten. So beheben Sie das Problem:

404 NOT_FOUND Für diesen Dienst ist HTTPS erforderlich. Achten Sie darauf, dass Sie Anfragen an https://roads.googleapis.com/ und nicht an http://roads.googleapis.com/ senden.
429 RESOURCE_EXHAUSTED Die Anfrage wurde aufgrund der Erreichung der Anfragelimits für das Projekt gedrosselt. Sie haben das in der Google Cloud Platform Console konfigurierte Anfragelimit überschritten. Dieses Limit wird in der Regel als Anfragen pro Tag, Anfragen pro 100 Sekunden und Anfragen pro 100 Sekunden pro Nutzer festgelegt. Dieses Limit sollte so konfiguriert werden, dass ein einzelner Nutzer oder eine kleine Gruppe von Nutzern Ihr Tageskontingent nicht aufbrauchen kann, während allen Nutzern ein angemessener Zugriff ermöglicht wird. Informationen zum Konfigurieren dieser Limits finden Sie unter API-Nutzung einschränken.

Exponentielle Backoffs

Wenn Anfragen fehlschlagen, sollten Sie sie mit exponentiellen Backoffs wiederholen. Wenn eine Anfrage beispielsweise einmal fehlschlägt, wiederholen Sie sie nach einer Sekunde. Wenn sie wieder fehlschlägt, wiederholen Sie sie nach zwei Sekunden, dann nach vier Sekunden usw. So wird verhindert, dass fehlerhafte Anfragen oder weit verbreitete Fehler die Google-Server überlasten, da viele Clients versuchen, Anfragen sehr schnell zu wiederholen.

Häufig gestellte Fragen zur Problembehebung

Probleme bei der Implementierung

Wie häufig sollte ich den Standort meines Fahrzeugs abrufen?
Für hochwertige Ergebnisse beim Ausrichten auf Straßen wird ein Intervall von 1 bis 10 Sekunden empfohlen.
Gibt es ein Limit für die Anzahl der Punkte, die ich pro Abfrage senden kann?
Ja, eine Abfrage kann maximal 100 Punkte enthalten.
Welche Genauigkeit sollte ich zum Speichern meiner ausgerichteten Breiten-/Längengradpaare verwenden?
Damit ausgerichtete Pfade auf allen Zoomstufen den Straßen folgen, auch bei maximaler Zoomstufe, sollten Sie Ihre ausgerichteten Breiten-/Längengradpaare mit einer Genauigkeit von 7 Dezimalstellen speichern.
Kann ich codierte Polylinien verwenden, um ausgerichtete Pfade anzuzeigen?
Codierte Polylinien werden nur mit einer Genauigkeit von 5 Dezimalstellen angegeben, was zu einem Fehler von etwa 2 Metern führt. Codierte Polylinien sind daher nicht geeignet, wenn Ihre ausgerichteten Pfade bei hohen Zoomstufen der Straße folgen sollen.

Häufige Probleme

Einige Punkte werden nicht ausgerichtet oder es gibt Lücken in den ausgerichteten Pfaden. Wie kann ich das korrigieren?
  • Wenn Sie Ihre Punkte in regelmäßigen Abständen abrufen, sollten Sie kürzere Intervalle verwenden (alle 1 bis 10 Sekunden). Bei einem längeren Intervall (z. B. 60 Sekunden) kann der Algorithmus zum Ausrichten auf Straßen die zurückgelegten Straßen möglicherweise nicht genau genug bestimmen.
  • Wenn Sie manuell auf eine Karte klicken, um Punkte zu erstellen, können Sie leicht Pfade mit wenigen oder spärlichen Punkten erstellen, die vom Ausrichtungsalgorithmus nicht gut verarbeitet werden. Der Ausrichtungsalgorithmus funktioniert am besten für Punkte, die nah beieinander liegen. Testen Sie die Demo zum Ausrichten auf Straßen oder verwenden Sie den Straßen Inspector, um Ihre Pfade zu testen.
Warum sind meine ausgerichteten Pfade zackig oder leicht von der Straße entfernt, wenn ich hineinzoome?
  • Kürzen Sie die Genauigkeit der ausgerichteten Breiten-/Längengradpaare, bevor Sie sie anzeigen? Wenn Sie ausgerichtete Breiten-/Längengradpaare mit einer Genauigkeit von weniger als 7 Dezimalstellen speichern, führt dies zu Genauigkeitsfehlern, wenn der ausgerichtete Pfad auf der Karte angezeigt wird.
  • Verwenden Sie codierte Polylinien? Bei codierten Polylinien werden Breiten-/Längengradpaare auf 5 Dezimalstellen gekürzt, was zu einem Fehler von mehreren Metern führt. Dadurch sind die Linien bei hohen Zoomstufen zackig oder leicht von der Straße entfernt.

Wenn keiner der oben genannten Fälle zutrifft, wurden die Kartenkacheln möglicherweise kürzlich aktualisiert, sodass sie nicht mehr mit dem Straßenindex synchron sind, der für die Ausrichtung verwendet wird. Wenn nur wenige Ihrer Abfragen betroffen sind, ist dies wahrscheinlich die Ursache. Da Google Maps regelmäßig aktualisiert wird, kann dies gelegentlich vorkommen. Es kann häufiger auftreten, wenn Sie regelmäßig alte Pfade auf einer Karte ansehen (z. B. Pfade, die vor einigen Wochen ausgerichtet wurden). Für eine optimale Visualisierung sollten Sie alte Pfade kurz vor der Anzeige auf einer Karte neu ausrichten, um die Inkonsistenzen zwischen den Kartenkacheln und dem Straßenindex, der für die Ausrichtung verwendet wird, zu minimieren.

Was kann dazu führen, dass die Geschwindigkeitsbegrenzung für Straße X falsch angezeigt wird?
Geschwindigkeitsbegrenzungen stammen aus verschiedenen Quellen, die sich in Genauigkeit und Abdeckung unterscheiden. Wenn Sie ein Muster feststellen, z. B. wenn Geschwindigkeitsbegrenzungen für einen bestimmten Straßentyp oder in einem bestimmten Gebiet immer falsch sind, gehen Sie so vor, um uns darüber zu informieren:
  1. Öffnen Sie Google Maps auf Ihrem Computer oder die Google Maps App für Android.
  2. Öffnen Sie das Menü auf der linken Seite.
  3. Wählen Sie Feedback senden aus. Hinweis: Möglicherweise werden Sie aufgefordert, sich anzumelden.
  4. Wählen Sie Karte bearbeiten aus.
  5. Wählen Sie den Straßenabschnitt aus, den Sie bearbeiten möchten.
  6. Wählen Sie Weiter aus.
  7. Geben Sie im Feld „Sonstiges“ an, dass die Geschwindigkeitsbegrenzung für diese Straße falsch ist.
  8. Wählen Sie Senden aus.
Sie können hier auch andere Probleme melden, z. B. wenn die Straße den falschen Namen hat, falsch gezeichnet ist, gesperrt oder privat ist.
Warum schneidet mein ausgerichteter Pfad Kurven ab, anstatt der Straße zu folgen?
Prüfen Sie Folgendes, um das Problem zu beheben:
  • Achten Sie darauf, dass der Parameter interpolate auf true gesetzt ist.
  • Prüfen Sie, ob Ihre ursprünglichen Datenpunkte in kurzen Abständen (alle 1 bis 10 Sekunden) erfasst werden.
Warum werden im ausgerichteten Pfad für eine Straße ohne Änderungen der Geschwindigkeitsbegrenzung viele Straßenabschnitte zurückgegeben?
Wenn der Parameter interpolate auf true gesetzt ist, gibt die Abfrage zum Ausrichten auf Straßen eine Polylinie zurück, die der Straße um Kurven, Biegungen und Kreisverkehre folgt. Wenn die Straße kurvenreich ist, werden mehrere Straßenabschnitte zurückgegeben, auch wenn sich die Geschwindigkeitsbegrenzung nicht ändert. So wird eine Polylinie erstellt, die der Straßenform genau folgt.