Best Practices für das Geocoding von Adressen

Beim Geocoding werden Adressen (z. B. eine Adresse) 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 eine Rolle spielen. Es wird beschrieben, wann es optimal ist, die Geocoding API zu verwenden, und wann es vorteilhaft ist, den Place Autocomplete-Dienst der Places API zu verwenden.

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 latenzempfindliche Anwendungen verwenden, z. B. wenn Sie auf Nutzereingaben reagieren.

Anwendungsfälle und API-Empfehlungen

Anwendungsfälle und API-Empfehlungen
Physische Ankunft, erweiterte Zielauswahl, Zustellung auf der letzten Meile, Abholung/Absetzen bei Mitfahrgelegenheiten, Gebäudeeingänge oder Campusnavigation Verwenden Sie die Methode Search for destinations (SearchDestinations) in der Geocoding API v4, um Gebäudeeingänge, routenfähige Navigationspunkte, Gebäudeumrisse und Sehenswürdigkeiten in der Nähe abzurufen. Weitere Informationen finden Sie unter Geocoding-Methode auswählen.
In Echtzeit auf Nutzereingaben reagieren (einschließlich mehrdeutiger, 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 abzurufen, und rufen Sie dann SearchDestinations (für hyperlokale Details) oder GeocodePlace (für grundlegende Koordinaten) auf.
Automatisierte Systeme, die vollständige, eindeutige Postadressen verarbeiten (z. B. „48 Pirrama Rd, Pyrmont, NSW, Australien“) Verwenden Sie den Geocoding API v4-Webdienst (SearchDestinations für hyperlokale Details oder GeocodeAddress für die Koordinatensuche).
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 Rate an mehrdeutigen, unvollständigen oder falsch geschriebenen Suchanfragen, die auf Nutzereingaben basieren, kann es jedoch sinnvoll sein, ein interaktives Place Autocomplete-Widget hinzuzufügen. So können Nutzer ein Ergebnis auswählen und Rechtschreibfehler in Adressen vermeiden.
Latenzprobleme bei Verwendung der Directions API (Legacy) oder Distance Matrix API (Legacy), wenn Startpunkte, Ziele oder Wegpunkte als Adressstrings angegeben werden Sie können die Geocoding-Latenz reduzieren, indem Sie den Place Autocomplete-Dienst der Places API verwenden, um Orts-IDs abzurufen, und diese dann an die Directions API (Legacy) oder Distance Matrix API (Legacy) übergeben.

Auf Nutzereingaben reagieren

Bei Anwendungen, die in Echtzeit auf Nutzereingaben reagieren, gibt es zwei wichtige Überlegungen, die die Wahl der API beeinflussen:

  1. Nutzer geben eine Adresse in der Regel schrittweise ein, z. B. „123 Main Street“. Daher ist es von Vorteil, unvollständige, mehrdeutige Adressen geocodieren zu können, da der Nutzer so schneller ein Ergebnis erhält.
  2. Anwendungen, die auf Nutzereingaben reagieren, sind in hohem Maße latenzsensitiv.

Diese beiden Überlegungen machen den 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 der Nutzer eine davon auswählen kann. Die Places API kann so eingeschränkt werden, dass nur Geocodes oder Adressen gesucht werden, Unternehmen jedoch ausgeschlossen sind. Außerdem kann die Funktion zur automatischen Vervollständigung so gewichtet werden, dass Ergebnisse für einen bestimmten Standort 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. 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. Daher wird sie 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 Abfragen 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 Adress-Geocodierung bietet eine größere Abdeckung von Adressen weltweit und ist für Ergebnisse hoher Qualität bei diesen Arten von vollständigen, eindeutigen Abfragen 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 mehrdeutige Abfragen ausgelegt und kann bei solchen Abfragen 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 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. 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 LatLng-Werte oder Orts-IDs erheblich.

Wenn Ihre Anwendung die Directions API (Legacy) oder die Distance Matrix API (Legacy) in einer latenzempfindlichen Situation verwendet, z. B. beim Antworten auf Nutzereingaben, und Ihre Startpunkte, Ziele oder Wegpunkte ursprünglich als Adressstrings angegeben sind, empfehlen wir, die Latenz zu minimieren, indem Sie den Place Autocomplete-Dienst der Places API verwenden, um Adressstrings in Orts-IDs umzuwandeln, und die Orts-IDs dann an die Directions API (Legacy) oder die Distance Matrix API (Legacy) übergeben. 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 Google Maps Platform-Webdienste zu verwenden. Sie enthalten eine Wiederholungslogik und unterstützen die Authentifizierung für die Google Maps Platform-Premiumoption. Die Java-, Python-, Go- und Node.js-Clients für Google Maps-Dienste sind von der Community unterstützte Clientbibliotheken, die auf GitHub heruntergeladen und erweitert 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, diese Strategien zur Nutzungsoptimierung auszuprobieren.