Ziel
Sie müssen häufig den Standort eines Orts bestätigen. Es gibt einige verschiedene Dienste in der Google Maps Platform, die Ihnen bei diesem Anwendungsfall helfen können. In diesem Dokument erfahren Sie, wie Sie zwischen den beiden wichtigsten Diensten zur Standortüberprüfung wählen können: der Address Validation API und der Geocoding API.
Die Address Validation API ist ein Angebot der Google Maps Platform, mit dem Kunden prüfen können, ob eine Adresse korrekt ist.
Beim Geocoding mit der Geocoding API werden Adressen in geografische Koordinaten umgewandelt, mit denen Sie Markierungen auf einer Karte oder eine Position auf der Karte platzieren können.
Eine allgemeine Übersicht über die Unterschiede zwischen der Address Validation API und der Geocoding API finden Sie hier.
Address Validation API oder Geocoding API
Hinweise zum obigen Flussdiagramm:
- Der Anwendungsfall „Nutzerinteraktion“ bezieht sich auf den Fall, dass ein Nutzer anwesend ist, um mit den Ergebnissen zu interagieren.
- Place Autocomplete ist eine JavaScript API und eignet sich daher für die Einbindung in Benutzeroberflächen.
- Möglicherweise sind Ihnen Probleme mit der Datenqualität Ihrer vorhandenen Adressen bekannt. Auch wenn Sie nur Geocodes benötigen, sollten Sie diese Standorte über die Address Validation API laufen lassen, um die Datensätze zu korrigieren.
Es gibt viele Situationen, in denen Sie basierend auf dem obigen Entscheidungsbaum ein Produkt dem anderen vorziehen könnten. In anderen Fällen kann es jedoch sinnvoll sein, beide Produkte zu verwenden, um Ihre Zielvorhaben zu erreichen.
Sie können die Address Validation API anstelle der Geocoding API verwenden, wenn:
- Es besteht eine hohe Wahrscheinlichkeit, dass es sich um fragwürdige Daten handelt oder dass eine falsche Adresse negative Auswirkungen auf nachfolgende Prozesse hat. Das liegt daran, dass die Address Validation API mehr Feedback dazu liefert, warum für eine Eingabe kein Ergebnis mit hoher Präzision erhalten wurde.
- Sie müssen Nutzereingaben korrigieren (z. B. Rechtschreibfehler oder fehlende Felder). Dadurch steigt die Wahrscheinlichkeit, dass ein korrektes Ergebnis ausgegeben wird.
- In Ihrer Zielregion werden von der Address Validation API mehr Metadaten zurückgegeben als von der Geocoding API, z. B. die Klassifizierung des Gebäudetyps als Wohn- oder Gewerbegebäude.
Sie können Geocoding anstelle der Address Validation API verwenden, wenn:
- Ihr Hauptziel besteht darin, den Standort einer Adresse abzurufen. Die Richtigkeit einzelner Adressen ist möglicherweise nicht entscheidend.
- Beispiel: Sie möchten eine Heatmap aus einer großen Datenmenge generieren.
- Sie benötigen eine globale Lösung und die Address Validation API ist nicht in allen Zielregionen verfügbar.
Im Folgenden finden Sie einige Beispiele, die die Funktionen der Address Validation API im Vergleich zur Geocoding API veranschaulichen.
Beispiel für eine ungültige Adresse
1 Fake St, Mountain View, CA 94043, USA
Die Address Validation API gliedert diese Eingabe in die einzelnen Adresskomponenten (Straße, Ort, Bundesland usw.) auf. Außerdem erhalten Sie detailliertes Feedback dazu, warum die Adresse nicht gültig ist, bis hinunter auf PREMISE
-Ebene.
Die Fake Street gibt es in Mountain View, CA, nicht. Die Address Validation API gibt dies in den zurückgegebenen Details auf Komponentenebene an:
{
"componentName": {
"text": "Fake St",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel":"UNCONFIRMED_BUT_PLAUSIBLE"
}
Die wichtige Eigenschaft in diesem Fall ist confirmationLevel
. Durch die Rückgabe von UNCONFIRMED_BUT_PLAUSIBLE
für „Fake St.“ hat die API festgestellt, dass eine Straße diesen Namen haben könnte, er aber nicht mit den unterstützenden Adressdaten abgeglichen werden kann.
Anhand des API-Ergebnisses als Feedback lässt sich ableiten, dass die Straßenkomponente dieser Eingabe (Fake St) fehlerhaft ist.
Wenn Sie dieselbe Adresse mit der Geocoding API verwenden, kann eine Übereinstimmung mit „Kalifornien“ gefunden werden, wie Sie im Screenshot des Geocoding-Tools sehen, das Sie hier ausprobieren können:
Das Ergebnis ist jedoch ein Geocode für den gesamten Bundesstaat, mit nur minimalen Informationen dazu, welche Komponenten der Eingabe möglicherweise fehlerhaft waren.
Beispiel für einen Rechtschreibfehler
76 Buckingamm Palace Road, Londn, SW1W 9TQ, GB
Die obige Adresse enthält einige Rechtschreibfehler, einen im Straßennamen und einen im Ort.
Sowohl die Address Validation API als auch die Geocoding API können diese Fehler korrigieren und das Ergebnis 76 Buckingham Palace Road, London, SW1W 9TQ liefern. Die Address Validation API bietet jedoch weitere Informationen zum Prozess.
Sehen wir uns eine der Adresskomponenten an, die bei der Eingabe falsch geschrieben wurde:
{
"componentName": {
"text": "Buckingham Palace Road",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "CONFIRMED",
"spellCorrected": true
}
}
Die Address Validation API gibt ein Flag zurück, um anzugeben, dass eine Korrektur am Feld vorgenommen wurde. Anhand dieser Markierung kann Geschäftslogik implementiert werden, um die Korrektur mit dem Datenanbieter zu überprüfen, z. B. mit einem Kunden an der E-Commerce-Kasse.
Beispiel für fehlende Daten und Rechtschreibfehler
Bollschestraße 86, 12587, DE
In der oben genannten Adresse ist ein Rechtschreibfehler im Straßennamen enthalten und die Stadt (Ort) Berlin fehlt.
Die Address Validation API kann beide Fehler beheben und gibt einen Geocode auf PREMISE
-Ebene sowie eine Adresse zurück, die auf PREMISE
-Ebene bestätigt wurde:
Bölschestraße 86, 12587 Berlin, DE
Die Geocoding API kann die Eingabefehler in diesem Fall nicht beheben und gibt das Ergebnis ZERO_RESULTS
zurück.
Beispiel für zusätzliche Adressmetadaten
111 8th Avenue Ste 123, New York, NY 10011-5201, USA
Diese Adresse ist mit Ausnahme der Wohnungsnummer (Ste 123) korrekt. Diese Nummer gibt es im Gebäude nicht.
Die Address Validation API kann die Adresse für die PREMISE
(111 8th Ave) bestätigen und einige Metadaten zur Unterkunft liefern, darunter, dass es sich um eine kommerzielle
premises:
"business": true
Außerdem ist der Wert dpvConfirmation
, der als Teil von uspsData
in der Antwort zurückgegeben wird, S
:
"dpvConfirmation": "S"
Ein Wert von S
für dpvConfirmation
gibt an, dass die Adresse auf PREMISE
-Ebene validiert wurde, die in der Eingabe angegebene Wohnungsnummer aber nicht mit dieser Adresse verknüpft ist.
Die Geocoding API kann diese Informationen nicht bereitstellen.
Geocoding API-Antwort
Übersicht
Wenn Sie die Geocoding API verwenden, enthält das Geocode-Ergebnis verschiedene Hinweise in der Antwort, die Sie zur Vervollständigung der angegebenen Adresse verwenden können.
Die Geocoding API funktioniert, indem Adresskomponenten in einer Hierarchie aufgelöst werden.
Beispiel: 123 Example Street, Chicago, 60007, USA
wird in der folgenden Reihenfolge aufgelöst:
/ Example Street/ Chicago/ 60007/ USA
wird in dieser Reihenfolge ausgewertet. Die erste Übereinstimmung in diesem Fall ist Chicago und genauer gesagt die Postleitzahl 60007
. Daher wird für diese Postleitzahl die folgende Place_ID zurückgegeben:
ChIJwRKzf8ixD4gRHiXqucwr_HQ
Die Geocode API enthält in der Antwort die folgenden Informationen:
"partial_match": true,
"place_id": "ChIJwRKzf8ixD4gRHiXqucwr_HQ",
"types": [
"postal_code"
]
Mit der Geocoding API können Sie prüfen, zu welcher Art von Ort diese Adresse gehört. Eine Liste der von der Geocoding API zurückgegebenen Adressen types
finden Sie hier.
Wenn keine der Komponenten der Eingabe aufgelöst wird, gibt die API Folgendes zurück:
{
"results": [],
"status": "ZERO_RESULTS"
}
Wenn Sie nur eine Straße ohne Hausnummer angeben, wird ein Ergebnis in folgendem Format zurückgegeben:
"types": [
"route"
]
Das bedeutet, dass die Geocoding API keine Hausnummer finden oder abgleichen konnte.
Hinweis:Ob eine Adresse existiert, erkennen Sie daran, ob einer der Parameter (z. B. types
oder partial_match, results, status)
) in der Geocoding API-Antwort festgelegt ist. Dadurch steigt nach und nach die Wahrscheinlichkeit, dass eine Adresse existiert, sie ist aber nie zu 100% genau. Deshalb benötigen wir die Address Validation API.
Mit den oben genannten Methoden können Sie die Zuverlässigkeit der Adressengenauigkeit aus einer Geocoding API-Antwort allein erhöhen. Im Gegensatz zu einem Ergebnis der Address Validation API gibt die Geocoding API jedoch kein genaues Feedback zur Genauigkeit des Ergebnisses zurück.
Standorttyp
Damit Sie diesen Abschnitt richtig verstehen, müssen Sie die verschiedenen Standorttypen kennen, die von einer Geocoding API-Antwort zurückgegeben werden können:
- DACH gibt an, dass das zurückgegebene Ergebnis ein präziser Geocode ist, für den wir Standortinformationen bis hin zur Straßenadresse haben.
- RANGE_INTERPOLATED gibt an, dass das zurückgegebene Ergebnis eine Annäherung (in der Regel auf einer Straße) ist, die zwischen zwei genauen Punkten (z. B. Kreuzungen) interpoliert wurde. Interpolierte Ergebnisse werden üblicherweise dann zurückgegeben, wenn hausnummern-genaue Geocodierungen für eine Adresse in einer Straße nicht zur Verfügung stehen.
- GEOMETRIC_CENTER gibt an, dass das zurückgegebene Ergebnis der geometrische Mittelpunkt eines Ergebnisses wie einer Polylinie (z. B. einer Straße) oder eines Polygons (Region) ist.
- APPROXIMATE gibt an, dass das zurückgegebene Ergebnis keines der oben genannten ist.
Wenn eine Geocoding API einen location_type
von ROOFTOP
oder RANGE_INTERPOLATED
zurückgibt, bedeutet das nicht unbedingt, dass die Adresse existiert. Wenn eine Geocoding API ein Ergebnis mit dem Flag partial_match
zurückgibt, das auf true
gesetzt ist, ist es möglicherweise trotzdem das richtige Ergebnis für Sie.
Diese Art von Falschübereinstimmung ist mit der Geocoding API nur sehr schwer zu lösen. Sie sollten zumindest eine grundlegende Validierung nach der Verarbeitung für das Land und den Ort der Anfrage / Antwort implementieren. Noch besser ist es, die tatsächlichen Adressen auf Rechtschreibfehler und/oder unvollständige Adressen zu prüfen.
Hinweis: Wenn Sie die Geocoding API verwenden, sollten Sie regelmäßig Datenqualitätsüberprüfungen zwischen der ursprünglichen Anfrage und der Geocoding API-Antwort durchführen.
Teilweise Übereinstimmung und falsche Übereinstimmung
Wenn eine Adresse nur teilweise übereinstimmt, d. h. die Geocoding API die Adresse nicht genau identifizieren konnte, enthält die Antwort Folgendes:
"partial_match": true,
"types": [
"locality",
"political"
]
Noch wichtiger als die oben genannten Standorttypen ist es, zu berücksichtigen, wann partial_match = true
in der Antwort enthalten ist. partial_match
gibt an, dass die Geocoding API keine genaue Übereinstimmung für die ursprüngliche Anfrage zurückgegeben hat, aber einen Teil der angeforderten Adresse finden konnte.
Prüfen Sie die ursprüngliche Anfrage auf eine unvollständige Adresse. Teilweise Übereinstimmungen treten am häufigsten bei Straßenadressen auf, die nicht in der in der Anfrage angegebenen Ortschaft vorhanden sind. Teilübereinstimmungen können auch zurückgegeben werden, wenn eine Anforderung mit mehr als einem Standort am selben Ort übereinstimmt.
Beispiel: „21 Henr St, Bristol, UK
“ gibt sowohl für „Henry Street“ als auch für „Henrietta Street“ einen teilweisen Übereinstimmung zurück. Wenn eine Anfrage eine falsch geschriebene Adresskomponente enthält, schlägt die Geocoding API möglicherweise eine alternative Adresse vor. So ausgelöste Vorschläge werden nicht als teilweise Übereinstimmung gekennzeichnet.
Synthetische Adressen
Die Geocoding API kann Standorte für „synthetische“ Adressen zurückgeben, die in der Google-Datenbank nicht als genaue Standorte vorhanden sind.
In solchen Fällen enthält das Antwortobjekt häufig eine lange Orts-ID und die folgende Eigenschaft: geometry.location_type=APPROXIMATE
.
Wenn Sie diese Indikatoren in der Antwort sehen, sollten Sie die eingegebene Adresse als ungültig kennzeichnen und versuchen, sie auf andere Weise zu validieren.
Hinweis: Dies ist ein weiteres Beispiel dafür, dass Sie mit der Address Validation API direkt Feedback erhalten, wenn eine Adresse nicht existiert.
API-Antwort der Adressbestätigung
Es gibt bereits eine gute Dokumentation dazu, wie Sie die Antworten der Address Validation API verstehen. Wir gehen hier also nicht weiter darauf ein.
- Hier finden Sie eine Übersicht über das Antwortobjekt.
- Demo, die die verschiedenen Komponenten der Antwort veranschaulicht
- Im Dokument Adressbestätigung für den Bezahlvorgang wird ausführlich beschrieben, wie Sie zwischen gültigen und ungültigen Adressen unterscheiden.
Best Practices
Geografie angeben
Wenn Sie die Address Validation API oder die Geocoding API aufrufen, sollten Sie die Region eingrenzen, in der nach der Adresse gesucht werden soll. Die beiden APIs implementieren dies auf zwei unterschiedliche Arten:
Geocoding API – regionale Verzerrung
Wenn Sie wissen, dass sich die Geocodes in einem bestimmten Land befinden, erzielen Sie mit der Regionalen Gewichtung viel bessere Ergebnisse. Wenn Sie beispielsweise in Kanada geocodieren, empfehlen wir, Ihren Anfragen
®ion=ca
hinzuzufügen, um eine Voreingenommenheit für Kanada zu erzielen. Beachten Sie, dass bei der regionalen Gewichtung nur Ergebnisse innerhalb dieser Region bevorzugt werden. Sie können weiterhin Ergebnisse außerhalb der Region erhalten.Address Validation API – Regionscode
Ähnlich liefert die Address Validation API genauere Ergebnisse, wenn in der Anfrage über das Feld
regionCode
ein ISO2-Code übergeben wird.
Orts-IDs speichern
Wenn Sie Informationen von der Google Maps Platform für zukünftige Anfragen speichern möchten, können Sie die Orts-ID unbegrenzt als Attribut des Standorts in Ihrer Datenbank speichern. Sie sollten nur einmal pro Place ID eine Ort finden-Anfrage stellen. Sie können auch jedes Mal nach der Orts-ID suchen, wenn ein Nutzer Transaktionsdetails anfordert.
Damit Sie immer auf dem neuesten Stand sind, sollten Sie alle 12 Monate eine Abfrage zu Ortsdetails mit dem Parameter place_id
senden, um die Orts-IDs zu aktualisieren.
Hinweis: Lesen Sie auch den Best Practices-Leitfaden für das Geocoding.
Fazit
In diesem Dokument werden die Hauptunterschiede zwischen der Address Validation API und der Geocoding API beschrieben. Zusammenfassend sollten Sie die Address Validation API verwenden, wenn:
- Eine korrekte Postanschrift ist erforderlich, insbesondere für die Zustellbarkeit.
- Die Eingabedaten sind bekanntlich von schlechter Qualität. Die Address Validation API ist bei Eingabefehlern toleranter, hebt nicht überprüfbare Adresskomponenten hervor und korrigiert die Eingabedaten.
- Für eine Adresse sind weitere Informationen erforderlich, z. B. ob es sich um eine Privat- oder Geschäftsadresse handelt (in ausgewählten Regionen verfügbar).
Nächste Schritte
Laden Sie das Whitepaper Mit gültigen Adressen den Bezahlvorgang und die Lieferung optimieren und das Webinar Mit der Adressbestätigung den Bezahlvorgang, die Lieferung und die Abläufe optimieren herunter.
Weitere Informationen:
- Adressbestätigung für den E-Commerce-Kaufvorgang
- Place Autocomplete-Dokumentation
- Dokumentation zur Address Validation API
- Google Maps Platform Reporting (derzeit nur in englischer Sprache verfügbar)
Beitragende
Dieser Artikel wird von Google gepflegt. Die folgenden Mitwirkenden haben den Artikel ursprünglich verfasst.
Hauptautoren:
Henrik Valve | Solutions Engineer
Thomas Anglaret | Solutions Engineer
Sarthak Ganguly | Solutions Engineer