Anleitungen

Adressen ohne Hausnummer verarbeiten

Nicht jede Adresse hat eine Hausnummer. Ländliche Zustellrouten, manche Neubaugebiete und bekannte Sehenswürdigkeiten werden oft ohne eine bezeichnet, und eine Geokodierungsanfrage, die jedes Mal eine Hausnummer erwartet, wird falsch einschätzen, wie ein gültiges Ergebnis in diesen Fällen aussieht.

So sieht die Antwort ohne Hausnummer aus

GET /v1/forward?q=Golden Gate Bridge, San Francisco&limit=1
{
  "status": "ok",
  "query": "Golden Gate Bridge, San Francisco",
  "results": [
    {
      "formatted": "Golden Gate Bridge, San Francisco, CA",
      "lat": 37.8199,
      "lon": -122.4783,
      "type": "address",
      "precision": "street",
      "confidence": 0.9,
      "place_id": "gb567",
      "components": {"city": "San Francisco", "region": "CA", "country": "US"}
    }
  ]
}

Beachten Sie, dass es hier kein Feld house_number in components gibt und precision „street“ statt „house“ lautet. Beides ist bei einer Adresse, die tatsächlich keine Hausnummer hat, zu erwarten und kein Zeichen für eine fehlgeschlagene oder unvollständige Abfrage.

Precision richtig lesen

Verstehen Sie precision als Beschreibung, wie spezifisch der Treffer ist, und nicht als Fehlerindikator. Eine Präzision „house“ bedeutet, dass der Treffer auf ein bestimmtes Gebäude aufgelöst wurde. Eine Präzision „street“ bedeutet, dass er auf eine Straße oder einen Punkt entlang dieser Straße aufgelöst wurde, ohne ein genaues Gebäude festzulegen, was für eine Sehenswürdigkeit oder eine Adresse ohne Hausnummer genau richtig ist.

Ein zweites Beispiel: ein bekannter öffentlicher Platz

GET /v1/forward?q=Central Park, New York&limit=1

Ein benannter öffentlicher Platz wie dieser wird typischerweise mit einem Wert für type aufgelöst, der weiter gefasst ist als „address“, und mit einer Präzision, die eher eine Fläche als einen einzelnen Punkt widerspiegelt, zusammen mit einem Objekt components, das möglicherweise nur Stadt und Region enthält. Das ist dasselbe Muster wie beim Beispiel der Brücke: ein echtes, nützliches Ergebnis, das ehrlich als Fläche statt als bestimmtes Gebäude beschrieben wird, weil sich die Abfrage tatsächlich darauf bezog.

Die Validierungslogik entsprechend anpassen

Wenn Ihre Formularvalidierung derzeit ein Feld house_number verlangt, bevor sie eine Adresse als vollständig akzeptiert, wird diese Prüfung legitime ländliche Adressen und Sehenswürdigkeiten fälschlich ablehnen. Stützen Sie die Annahmekriterien darauf, dass confidence und precision Ihren tatsächlichen Anforderungen entsprechen, statt zu verlangen, dass jeder einzelne Bestandteil befüllt ist.

Ein häufiger Fehler, den Sie vermeiden sollten

Behandeln Sie ein leeres Objekt components oder eines, dem mehrere Felder fehlen, nicht wie eine fehlgeschlagene Anfrage. Eine fehlgeschlagene Anfrage kommt mit einem Fehlerstatus und einem Fehlercode zurück, die in der Dokumentation zu Fehlern beschrieben sind. Ein erfolgreiches Ergebnis mit spärlichen Bestandteilen ist ein anderes, völlig normales Ergebnis, und wenn Sie beides in Ihrer Fehlerbehandlung vermischen, werden gültige Adressen als Fehlschläge protokolliert und behandelt.

Kunden bestätigen lassen statt ablehnen

Bei einer Adresse ohne Hausnummer funktioniert es besser, dem Kunden das formatierte Ergebnis zur Bestätigung anzuzeigen, als die Eingabe sofort abzulehnen. So bleibt eine echte Adresse nutzbar, während wirklich fehlerhafte Eingaben an anderer Stelle weiterhin erkannt werden.

In umgekehrter Richtung gilt dasselbe Muster

Die Reverse-Geokodierung einer Koordinate im offenen Gelände oder auf dem Wasser kann ebenfalls mit einer gröberen Präzision und weniger befüllten Bestandteilen zurückkommen als eine Koordinate, die auf der Grundfläche eines bestimmten Gebäudes liegt. Die Dokumentation zur Reverse-Geokodierung beschreibt dieselben Präzisionswerte aus dieser Richtung.

Die Kosten bleiben gleich

Eine Adresse ohne Hausnummer kostet dieselbe eine Anfrage wie jede andere Geokodierungsabfrage. Fehlende Bestandteile ändern nichts daran, wie die Anfrage mit Ihrem Tageskontingent oder Ihrem Guthaben verrechnet wird.

Der richtige Umgang damit besteht vor allem darin, precision und confidence so zu lesen, wie sie gemeint sind, statt anzunehmen, dass jede gültige Adresse jeden Bestandteil vollständig befüllen muss. Die Dokumentation zur Geokodierung erklärt jedes Feld im Detail.