Beim Geocoding werden Adressen (z. B. eine Straßenadresse) in geografische Koordinaten (Breiten- und Längengrad) umgewandelt, mit denen Sie Markierungen auf einer Karte platzieren oder die Karte positionieren können. In diesem Dokument werden die Aspekte erläutert, die beim Geocodieren von Adressen zu berücksichtigen sind. Dort wird beschrieben, wann die Geocoding API am besten geeignet ist und wann der Place Autocomplete-Dienst der Places API von Vorteil ist.
Verwenden Sie im Allgemeinen die Geocoding API, wenn Sie vollständige Adressen geocodieren (z. B. „48 Pirrama Rd, Pyrmont, NSW, Australia“). Verwenden Sie den Place Autocomplete-Dienst der Places API, wenn Sie mehrdeutige (unvollständige) Adressen geocodieren oder wenn Ihre Anwendung latensungsempfindlich ist, z. B. bei der Reaktion auf Nutzereingaben.
Anwendungsfälle und API-Empfehlungen
Anwendungsfälle und API-Empfehlungen | |
---|---|
In Echtzeit auf Nutzereingaben reagieren (einschließlich unklarer, unvollständiger, schlecht formatierter oder falsch geschriebener Adressen, die von einem Nutzer eingegeben wurden) | Verwenden Sie den Place Autocomplete-Dienst der Places API, um eine Orts-ID zu erhalten, und dann die Geocoding API, um die Orts-ID in einen LatLng-Wert zu geocodieren. |
Automatisierte Systeme, die vollständige, eindeutige Postadressen verarbeiten (z. B. „48 Pirrama Rd, Pyrmont, NSW, Australia“) | Verwenden Sie den Geocoding API-Webdienst. |
Automatisierte Systeme, die mehrdeutige Suchanfragen verarbeiten (z. B. unvollständige, schlecht formatierte oder falsch geschriebene Adressen) | Für automatisierte Systeme wird der Geocoding API-Webdienst empfohlen. Bei automatisierten Systemen mit einer hohen Rate an mehrdeutigen, unvollständigen oder falsch geschriebenen Suchanfragen, die aus der Nutzereingabe stammen, kann es jedoch sinnvoll sein, ein interaktives Place Autocomplete-Widget hinzuzufügen, damit Nutzer ein Ergebnis auswählen und so Fehler bei der Eingabe einer Adresse vermeiden können. |
Latenzprobleme bei der Verwendung der Directions API oder Distance Matrix API, wenn Start-, Ziel- oder Wegpunkte als Adressstrings angegeben werden | Sie können die Geocoding-Latenz verringern, indem Sie den Dienst „Place Autocomplete“ der Places API verwenden, um Orts-IDs zu erhalten, und diese dann an die Directions API oder Distance Matrix API übergeben. |
Auf Nutzereingaben reagieren
Bei Anwendungen, die in Echtzeit auf Nutzereingaben reagieren, sind zwei wichtige Aspekte zu berücksichtigen, die sich auf die Auswahl der API auswirken:
- Die Nutzereingabe umfasst in der Regel die schrittweise Eingabe einer Adresse (z. B. „123 Hauptstraße“). Daher ist es von Vorteil, unvollständige oder mehrdeutige Adressen geocodieren zu können, da der Nutzer so schneller ein Ergebnis erhält.
- Anwendungen, die auf Nutzereingaben reagieren, sind in hohem Maße latenzsensitiv.
Aus diesen beiden Gründen eignet sich der Place Autocomplete-Dienst in der Places API ideal für den Anwendungsfall, bei dem auf Nutzereingaben reagiert werden soll. Die Ortssuche mit automatischer Vervollständigung soll mehrere mögliche Optionen zurückgeben und Nutzern die Möglichkeit geben, zwischen ihnen zu wählen. Die Places API kann so eingeschränkt werden, dass nur nach Geocodes oder Adressen gesucht wird und Unternehmen ausgeschlossen werden. Außerdem kann die Funktion für die automatische Vervollständigung so eingestellt werden, dass standortspezifische Ergebnisse zurückgegeben werden. Die Places API gibt eine Orts-ID zurück, die als vollständig eindeutiger Ort an den Geocoding API-Webdienst übergeben werden kann. Dieser gibt dann die vollständigen Adressdetails zurück und geocodiert die Adresse in Latlng. Orts-IDs können auch an andere APIs wie die Directions API und die Distance Matrix API übergeben werden (siehe unten).
Das Geocodieren von Adressen in der Geocoding API hat eine viel höhere Latenz und liefert bei unvollständigen oder mehrdeutigen Suchanfragen weniger genaue Ergebnisse. Daher wird es nicht für Anwendungen empfohlen, die in Echtzeit auf Nutzereingaben reagieren müssen.
Weitere Informationen zum „Place Autocomplete“-Dienst für Android, iOS, JavaScript und die Places API
Automatisierte Systeme
Automatisierte Systeme zur Verarbeitung vollständiger, eindeutiger Postanschriften: Eindeutige Suchanfragen wie vollständige Postanschriften (z. B. „48 Pirrama Rd, Pyrmont, NSW, Australia“) werden am besten vom Geocoding API-Webdienst verarbeitet. Das Geocoding-Backend für Adressen deckt weltweit mehr Adressen ab und ist für hochwertige Ergebnisse bei diesen Arten von vollständigen, eindeutigen Abfragen optimiert.
Automatisiertes System zur Verarbeitung mehrdeutiger Suchanfragen: Mehrdeutige Suchanfragen enthalten schlecht formatierte Adressen, unvollständige Adressen oder Rechtschreibfehler. Für automatisierte Systeme empfehlen wir den Geocoding API-Webdienst. Die Geocoding API ist jedoch nicht für mehrdeutige Abfragen ausgelegt und kann bei mehrdeutigen Abfragen weniger genaue Ergebnisse oder keine Ergebnisse liefern. Wenn Ihr automatisiertes System eine hohe Anzahl von mehrdeutigen Suchanfragen verarbeitet, die aus Nutzereingaben stammen, kann es sinnvoll sein, Ihrer App ein interaktives Element hinzuzufügen. Verwenden Sie dazu den Place Autocomplete-Dienst in der Places API. Er ist so konzipiert, dass mehrere mögliche Optionen zurückgegeben werden und Nutzer zwischen ihnen wählen können. Die Places API gibt eine Orts-ID zurück, die als vollständig eindeutiger Ort an den Geocoding API-Webdienst übergeben werden kann. Dieser gibt dann die vollständigen Adressdetails zurück und geocodiert die Adresse in LatLng. Weitere Informationen zum „Place Autocomplete“-Dienst für Android, iOS, JavaScript und die Places API
Latenz für die Directions API und die Distance Matrix API reduzieren
Wenn Start-, Ziel- oder Wegpunkte als Adressstrings angegeben werden, verwenden die Directions API und die Distance Matrix API dasselbe Backend wie die Geocoding API, um diese Adressen zu geocodieren, bevor die Route berechnet wird. Dies erhöht die Latenz erheblich im Vergleich zur Angabe derselben Standorte als Koordinaten oder Orts-IDs.
Wenn Ihre Anwendung die Directions API oder Distance Matrix API in einer latenzempfindlichen Situation wie der Reaktion auf Nutzereingaben verwendet und Start-, Ziel- oder Wegpunkte anfangs als Adressstrings angegeben werden, empfehlen wir, die Latenz zu minimieren. Verwenden Sie dazu den automatischen Ortssuchdienst der Places API, um Adressstrings in Orts-IDs umzuwandeln, und übergeben Sie die Orts-IDs dann an die Directions API oder Distance Matrix API. Weitere Informationen zum Place Autocomplete-Dienst für Android, iOS, JavaScript und die Places API Hier finden Sie ein JavaScript-Beispiel für die automatische Vervollständigung von Orten und Wegbeschreibungen.
Fazit
Je nach Anwendungsfall können Sie beim Geocodieren von Adressen die Geocoding API oder den Place Autocomplete-Dienst in Kombination mit der Geocoding API verwenden, um Apps zu erstellen, die Nutzern genaue Geocoding-Ergebnisse und eine geringere Latenz bieten.
Fehler und Wiederholungen verwalten
Wenn Sie UNKNOWN_ERROR
-Antworten erhalten, sind diese auf vorübergehende Fehler zurückzuführen. Versuchen Sie es nach einer kurzen Verzögerung noch einmal. Wir empfehlen, die
Clientbibliotheken für die Google Maps Platform-Webdienste zu verwenden. Sie enthalten eine Wiederholungslogik und unterstützen die Authentifizierung für die Google Maps Platform-Premiumoption.
Der Java-Client, der Python-Client, der Go-Client und der Node.js-Client für Google Maps-Dienste sind von der Community unterstützte Clientbibliotheken, die auf GitHub zum Download und zur Mitarbeit verfügbar sind. Dort finden Sie auch Installationsanleitungen und Beispielcode.
Wenn Sie den Statuscode OVER_QUERY_LIMIT
als Antwort erhalten, haben Sie die Nutzungslimits für die API überschritten. Wir empfehlen Ihnen, die folgenden
Strategien zur Optimierung der Nutzung auszuprobieren.