Anleitungen

Einen Entfernungsrechner zur nächsten Filiale in eine Landingpage einbauen

„Wie weit ist Ihr nächster Standort von mir entfernt?“ ist eine Frage, die eine Landingpage direkt beantworten kann, statt den Besucher auf eine separate Karte zu schicken, wo er es selbst herausfinden muss.

Die Eingabe des Besuchers geokodieren

Nehmen Sie die Adresse oder Postleitzahl, die der Besucher in ein einfaches Formularfeld eingibt, und geokodieren Sie sie.

GET /v1/forward?q=350 Fifth Avenue, New York&limit=1
{
  "status": "ok",
  "results": [
    {"formatted": "350 Fifth Avenue, New York, NY", "lat": 40.7484, "lon": -73.9857, "type": "address", "precision": "house", "confidence": 0.96, "place_id": "es234", "components": {}}
  ]
}

Die Entfernung zu jeder Filiale berechnen

Sobald Sie die Koordinaten des Besuchers haben, berechnen Sie mit einer gängigen Haversine-Formel die Luftlinienentfernung von diesem Punkt zu jedem Ihrer Filialstandorte, die Sie als feste Koordinatenliste in Ihrem eigenen Code hinterlegen.

for store in stores:
    store.distance_km = haversine(store.lat, store.lon, 40.7484, -73.9857)

Das Ergebnis anzeigen

Sortieren Sie Ihre Filialliste nach der berechneten Entfernung und zeigen Sie die nächstgelegene Filiale oder die nächstgelegenen paar Filialen zusammen mit der Entfernungsangabe an. Da all das beim Absenden des Formulars auf dem Server läuft, ist kein clientseitiges Skript nötig: Die Seite stellt das Ergebnis einfach beim nächsten Seitenaufruf dar.

Ein zweites Beispiel: die drei nächstgelegenen statt nur einer anzeigen

Statt nur die eine nächstgelegene Filiale zu nennen, gibt das Sortieren der vollständigen Liste und das Anzeigen der ersten drei dem Besucher eine echte Wahl. Das ist besonders nützlich, wenn die allernächste Filiale andere Öffnungszeiten oder einen anderen Bestand hat als eine etwas weiter entfernte, die der Besucher eigentlich bevorzugen würde. Das kostet nichts extra, da die Sortierung auf denselben Koordinaten aus derselben einzelnen Anfrage basiert.

Umgang mit einem Treffer geringer Zuverlässigkeit

Wenn die eingegebene Adresse des Besuchers mit einem niedrigen Konfidenzwert zurückkommt, zeigen Sie ihm das formatierte Ergebnis zur Bestätigung an, bevor Sie die Entfernung berechnen, statt selbstsicher eine Entfernung zu melden, die auf einer Vermutung darüber beruht, was er gemeint hat.

Ein häufiger Fehler, den Sie vermeiden sollten

Führen Sie die Entfernungsberechnung nicht für eine Anfrage aus, die mit einer deutlich gröberen Genauigkeit aufgelöst wurde, als der Besucher vermutlich beabsichtigt hat, etwa ein bloßer Stadt- oder Regionsname, der einem Ergebnis vom Typ „locality“ entspricht, ohne den Besucher vorher darauf hinzuweisen. Eine Entfernung, die von einem Stadtzentrum statt von der tatsächlichen Straße des Besuchers aus berechnet wurde, kann in beide Richtungen um mehrere Kilometer abweichen, genug, um zu ändern, welche Filiale am nächsten erscheint. Wer das Genauigkeitsfeld prüft, bevor er eine selbstsicher klingende Entfernungsangabe meldet, vermeidet es, eine grobe Schätzung als exakten Wert auszugeben.

Den Besucher zwischen mehrdeutigen Treffern wählen lassen

Wird limit bei der Geokodierungsanfrage über 1 angehoben, liefert sie mehrere mögliche Treffer, wenn die Eingabe tatsächlich mehrdeutig ist, etwa bei einem Straßennamen, den es in mehr als einem Ort gibt. Diese kurze Liste anzuzeigen und den Besucher den richtigen Eintrag auswählen zu lassen, bevor die Entfernung berechnet wird, ist ein besseres Ergebnis, als sich stillschweigend auf den Kandidaten festzulegen, der zufällig an erster Stelle stand.

Was es kostet

Jede Berechnung ist eine Geokodierungsanfrage, unabhängig davon, mit wie vielen Filialen Sie die resultierenden Koordinaten vergleichen, da die Filialliste selbst keine weiteren API-Aufrufe erfordert, sobald Sie die Koordinaten des Besuchers haben. Eine Landingpage mit nennenswertem Traffic nutzt diese Funktion dennoch mit einer Rate von einer Anfrage pro Berechnung eines Besuchers, deutlich innerhalb der 2.500 kostenlosen Anfragen pro Tag, die in jedem Schlüssel enthalten sind.

Ein solcher Entfernungsrechner beantwortet eine konkrete, häufige Frage direkt auf der Seite, statt den Besucher woanders hinzuschicken, um es herauszufinden. Alle Anfrageparameter finden Sie in der Dokumentation zur Geokodierung.