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 Überlegungen erläutert, die beim Geocoding von Adressen zu berücksichtigen sind. Darin wird beschrieben, wann es optimal ist, die Geocoding API zu verwenden, und wann es von Vorteil ist, den Place Autocomplete-Dienst der Places API zu nutzen.
Im Allgemeinen sollten Sie die Geocoding API verwenden, wenn Sie vollständige Adressen geocodieren, z. B. „48 Pirrama Rd, Pyrmont, NSW, Australien“. Verwenden Sie den Place Autocomplete-Dienst der Places API, wenn Sie mehrdeutige (unvollständige) Adressen geocodieren oder für latenzempfindliche Anwendungen, z. B. wenn Sie auf Nutzereingaben reagieren.
Anwendungsfälle und API-Empfehlungen
| Anwendungsfälle und API-Empfehlungen | |
|---|---|
| In Echtzeit auf Nutzereingaben reagieren (einschließlich mehrdeutiger, unvollständiger, schlecht formatierter oder falsch geschriebener Adressen, die von einem Nutzer eingegeben werden) | Verwenden Sie den Place Autocomplete-Dienst der Places API, um eine Orts-ID abzurufen, 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 Abfragen 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 Anzahl an mehrdeutigen, unvollständigen oder falsch geschriebenen Anfragen, die aus Nutzereingaben stammen, kann es jedoch sinnvoll sein, ein interaktives Place Autocomplete-Widget hinzuzufügen, damit Nutzer ein Ergebnis auswählen und so vermeiden können, eine Adresse falsch zu schreiben. |
| Latenzprobleme bei Verwendung der Directions API (Legacy) oder der Distance Matrix API (Legacy) mit Startpunkten, Zielen oder Wegpunkten, die als Adressstrings angegeben sind | Reduzieren Sie die Geocoding-Latenz, indem Sie den Place Autocomplete-Dienst der Places API verwenden, um Orts-IDs abzurufen, und die Orts-IDs dann an die Directions API (Legacy) oder die Distance Matrix API (Legacy) übergeben. |
Auf Nutzereingaben reagieren
Bei Anwendungen, die in Echtzeit auf Nutzereingaben reagieren, sind zwei wichtige Aspekte zu berücksichtigen, die sich auf die API-Auswahl auswirken:
- Bei der Nutzereingabe wird in der Regel eine Adresse schrittweise eingegeben (z. B. „Hauptstraße 123“). Daher ist es von Vorteil, wenn unvollständige, mehrdeutige Adressen geocodiert werden 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 ist der Place Autocomplete-Dienst in der Places API ideal für den Anwendungsfall, auf Nutzereingaben zu reagieren. Place Autocomplete ist so konzipiert, dass mehrere mögliche Optionen zurückgegeben werden und Nutzer zwischen ihnen wählen können. Die Places API kann so eingeschränkt werden, dass nur nach geografischen Koordinaten oder Adressen gesucht wird, Unternehmen jedoch ausgeschlossen werden. Außerdem kann die Funktion zur automatischen Vervollständigung so konfiguriert 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 vollständige Adressdetails zurück und geocodiert die Adresse in einen „latlng“-Wert. Orts-IDs können auch an andere APIs übergeben werden, z. B. an die Directions API (Legacy) und die Distance Matrix API (Legacy) (siehe Latenz reduzieren).
Die Adress-Geocodierung in der Geocoding API hat eine viel höhere Latenz und liefert bei unvollständigen oder mehrdeutigen Abfragen weniger genaue Ergebnisse. Sie wird daher 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, die vollständige, eindeutige Postadressen verarbeiten: Eindeutige Anfragen wie vollständige Postadressen (z. B. „48 Pirrama Rd, Pyrmont, NSW, Australia“) werden am besten vom Geocoding API-Webdienst verarbeitet. Das Backend für die Geocodierung von Adressen bietet eine bessere Abdeckung von Adressen weltweit und ist für Ergebnisse hoher Qualität bei diesen Arten von vollständigen, eindeutigen Anfragen optimiert.
Automatisierte Systemverarbeitung mehrdeutiger Abfragen: Mehrdeutige Abfragen sind solche, die schlecht formatierte Adressen, unvollständige Adressen oder Rechtschreibfehler enthalten. Für automatisierte Systeme empfehlen wir die Verwendung des Geocoding API-Webdienstes. Die Geocoding API ist jedoch nicht für die Verarbeitung mehrdeutiger Anfragen konzipiert und kann bei solchen Anfragen weniger genaue oder gar keine Ergebnisse liefern. Wenn Ihr automatisiertes System eine hohe Rate an mehrdeutigen Abfragen verarbeitet, die von Nutzereingaben abgeleitet werden, kann es sinnvoll sein, Ihrer App ein interaktives Element hinzuzufügen. Verwenden Sie dazu den Place Autocomplete-Dienst in der Places API, da er so konzipiert ist, dass mehrere mögliche Optionen zurückgegeben werden und der Nutzer zwischen ihnen wählen kann. Die Places API gibt eine Orts-ID zurück, die als eindeutiger Ort an den Geocoding API-Webdienst übergeben werden kann. Dieser gibt dann vollständige Adressdetails zurück und geocodiert die Adresse in ein LatLng. Weitere Informationen zum „Place Autocomplete“-Dienst für Android, iOS, JavaScript und die Places API
Latenz für die Directions API (Legacy) und die Distance Matrix API (Legacy) reduzieren
Wenn Startpunkte, Ziele oder Wegpunkte als Adressstrings angegeben werden, verwenden die Directions API (Legacy) und die Distance Matrix API (Legacy) dasselbe Backend wie die Geocoding API, um diese Adressen vor der Berechnung von Routen zu geocodieren. Dadurch erhöht sich die Latenz im Vergleich zur Angabe derselben Orte als „latlngs“ oder Orts-IDs erheblich.
Wenn in Ihrer Anwendung die Directions API (Legacy) oder die Distance Matrix API (Legacy) in einer latenzsensitiven Situation verwendet wird, z. B. als Reaktion auf eine Nutzereingabe, und Ihre Ausgangspunkte, Ziele oder Wegpunkte anfangs als Adressstrings angegeben werden, empfehlen wir, die Latenz zu minimieren, indem Sie den Place Autocomplete-Dienst der Places API verwenden, um Adressstrings in Orts-IDs zu konvertieren. Übergeben Sie die Orts-IDs dann an die Directions API (Legacy) oder die Distance Matrix API (Legacy). Weitere Informationen zum Place Autocomplete-Dienst für Android, iOS, JavaScript und die Places API Hier finden Sie ein JavaScript-Beispiel für „Place Autocomplete“ und „Directions“.
Fazit
Je nach Anwendungsfall können Sie die Geocoding API allein oder in Kombination mit dem Place Autocomplete-Dienst verwenden. So können Sie Apps entwickeln, die genaue Geocoding-Ergebnisse und eine geringere Latenz bieten.
Fehler und Wiederholungsversuche verwalten
Wenn Sie UNKNOWN_ERROR-Antworten erhalten, werden diese durch vorübergehende Fehler verursacht. Am besten versuchen Sie es nach einer kurzen Verzögerung noch einmal. Wir empfehlen, die
Clientbibliotheken für die Google Maps Platform-Webdienste zu verwenden, da sie eine Wiederholungslogik enthalten und die Authentifizierung für die Google Maps Platform-Premiumoption unterstützen.
Die Java-Clients, Python-Clients, Go-Clients und Node.js-Clients für Google Maps-Dienste sind von der Community unterstützte Clientbibliotheken, die auf GitHub heruntergeladen und mit Beiträgen versehen werden können. 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, diese
Strategien zur Optimierung der Nutzung auszuprobieren.