Die Methoden GeocodeAddress und SearchDestinations unterstützen einen optionalen effort-Parameter, mit dem Sie den Kompromiss zwischen Antwortlatenz und Genauigkeit der Adressauflösung steuern können.
Bei der Standard-Geocodierung werden korrekt formatierte Postadressen mit einer Latenz von weniger als einer Sekunde verarbeitet. In der Praxis sind Eingaben jedoch oft unvollständig, informell oder komplex (z. B. "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West,
Mumbai" oder "where the warriors play, sf"). Wenn Sie eine höhere effort-Stufe konfigurieren, können Sie die Geocoding API anweisen, erweiterte Logik und Disambiguierung anzuwenden, um schwierige Adressen aufzulösen.
Anstrengungsstufen
Geben Sie einen der folgenden Werte für den Parameter effort an:
| Anstrengungsgrad | Beschreibung | Typische Latenz | Empfohlene Anwendungsfälle |
|---|---|---|---|
EFFORT_UNSPECIFIED |
Standardwert. Verhält sich wie LOW. |
Unter einer Sekunde | Standard-Geocoding |
LOW |
Optimiert für die schnellsten Antwortzeiten. Führt keine erweiterte Suche oder Mehrdeutigkeitsauflösung für schwierige Adressen durch. | Untersekunde | Interaktive Suche in Echtzeit, Standard-Address Validation für große Mengen. |
MEDIUM |
Gleicht Geschwindigkeit und Genauigkeit aus. Die meisten Anfragen werden mit der standardmäßigen niedrigen Latenz zurückgegeben. Bei mehrdeutigen oder schwierigen Adressen führt der Dienst zusätzliche Verarbeitungsschritte aus, um die Genauigkeit zu verbessern. Das kann einige Sekunden dauern. | Unter einer Sekunde für Standardadressen; bis zu ein paar Sekunden (≤ 4 Sekunden) für mehrdeutige Adressen | Interaktive Nutzerworkflows (z. B. Adressbestätigung beim Bezahlen), bei denen Nutzer eine kurze Pause tolerieren können. |
HIGH |
Maximiert die Genauigkeit der Adressauflösung für unvollständige, informelle oder komplexe Adressen. Die Antwortzeiten können deutlich länger sein. | Bis zu 20 Sekunden für komplexe Adressen | Hintergrundverarbeitung, Batch-Geocodierung, Logistikversand oder asynchrone Adressoptimierung nach dem Bezahlen. |
Beispielanfragen
Nach Zielen suchen (SearchDestinations)
Fügen Sie das Feld effort in den JSON-Anfragetext Ihrer POST-Anfrage an https://geocode.googleapis.com/v4alpha/geocode/destinations ein. Der Parameter effort wirkt sich hauptsächlich auf die Auflösung von addressQuery aus:
curl -X POST -d '{
"addressQuery": {
"addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
},
"effort": "HIGH"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4alpha/geocode/destinations
Geocoding einer Adresse (GeocodeAddress)
Übergeben Sie den Parameter effort als URL-Abfrageparameter in Ihrer GET-Anfrage an den Endpunkt /v4alpha/:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4alpha/geocode/address/where+the+warriors+play,+sf?effort=MEDIUM"
Auswirkungen der Latenz minimieren
Wenn Sie in Ihrer Anwendung den Aufwand MEDIUM oder HIGH verwenden, ist das Senden einer Anfrage mit einem Durchlauf die einfachste Integration. Anfragen in diesen Modi können jedoch zu einer höheren Latenz führen, was synchrone, für Nutzer sichtbare und latenzempfindliche Workflows verzögern kann.
Um die Auswirkungen dieser Latenz auf interaktive Nutzerabläufe (z. B. Bezahlung oder Buchung) zu minimieren, können Sie einen Workflow mit mehreren Durchgängen verwenden:
- Durchlauf 1 (interaktiv): Senden Sie eine synchrone Anfrage mit
effort=LOW(oder Standard), um die Adresse sofort mit einer Latenz von weniger als einer Sekunde zu validieren. - Durchgang 2 (Hintergrund): Senden Sie eine asynchrone Folgeanfrage mit
effort=MEDIUModereffort=HIGH(z. B. nach dem Bezahlen oder vor dem Versand), um komplexe Adressen in hochpräzise Koordinaten, Eingänge und Navigationspunkte aufzulösen, ohne den Nutzer zu blockieren.
Nutzungslimits
Während der experimentellen (v4alpha) Einführungsphase unterliegen Anfragen, bei denen effort auf MEDIUM oder HIGH festgelegt ist, strengeren Ratenbegrenzungen als Standardanfragen (LOW). Wenn Ihre Anwendung diese Ratenbegrenzungen überschreitet, gibt die API den Fehler RESOURCE_EXHAUSTED (HTTP 429) zurück. Wenn HTTP 429-Fehler auftreten oder Sie ein höheres Kontingent für Ihren Anwendungsfall benötigen, kontaktieren Sie uns über den Feedbackkanal.
Feedback
Dies ist eine experimentelle Funktion der Geocoding API. Wir freuen uns über Feedback an geocoding-feedback-channel@google.com.