Die Nutzung Ihres Schlüssels überwachen, bevor Sie an ein Limit stoßen
Wenn Sie Ihre Kontingent-Header laufend beobachten, wissen Sie, wann ein Limit näher rückt, lange bevor eine Anfrage tatsächlich abgelehnt wird.
Eine Filialsuche braucht zwei Dinge, die zusammenspielen: eine Möglichkeit zu wissen, wo sich der Kunde befindet, und eine Liste von Filialkoordinaten für den Vergleich. Die Reverse-Geokodierung deckt den ersten Teil sauber ab.
Sobald Sie die Koordinaten des Kunden haben, aus einem von ihm eingegebenen Ort oder aus einer IP-Abfrage, führen Sie eine Reverse-Geokodierung durch, um dem Kunden einen lesbaren Ortsnamen anzuzeigen und den Suchort zu bestätigen, bevor die Ergebnisse erscheinen.
GET /v1/reverse?lat=51.5074&lon=-0.1278{
"status": "ok",
"formatted": "Trafalgar Square, London, UK",
"lat": 51.5074,
"lon": -0.1278,
"type": "address",
"precision": "street",
"confidence": 0.9,
"place_id": "lm345",
"components": {"city": "London", "country": "GB"}
}Die API liefert Koordinaten, keine Entfernungen zwischen zwei beliebigen Punkten. Sobald Sie also Breiten- und Längengrad des Kunden haben, berechnen Sie die Entfernung zu jeder Filiale in Ihrer eigenen Liste mit der üblichen Großkreisberechnung für die beiden Koordinatenpaare. Sortieren Sie Ihre Filialliste nach dieser berechneten Entfernung und zeigen Sie die nächsten paar an.
Nicht jeder Besucher gibt seinen Standort frei. Bei einer Suche per eingegebener Adresse geokodieren Sie den eingegebenen Text zuerst mit /v1/forward, um Koordinaten zu erhalten, und führen dann dieselbe Entfernungsberechnung zur nächsten Filiale mit diesem Ergebnis durch. Wenn Vorschläge schon beim Tippen erscheinen sollen, statt auf eine vollständige Adresse zu warten, kann /v1/autocomplete ein Feld mit Vorschlägen beim Tippen versorgen, das eine place_id oder aufgelösten Text an denselben Schritt der Geokodierung (Adresse zu Koordinaten) übergibt.
Eine native App kann den Schritt der Reverse-Geokodierung für die Suche nach Filialen in der Nähe überspringen, da sie bereits rohe Gerätekoordinaten hat, die sie direkt mit Ihrer Filialliste vergleichen kann. Die Reverse-Geokodierung hat dort trotzdem ihren Platz, nämlich für den Bestätigungstext, der dem Kunden angezeigt wird, etwa „Filialen in der Nähe von Trafalgar Square, London“ statt eines bloßen Zahlenpaars. Das versichert dem Kunden, dass die App seinen Standort richtig verstanden hat, bevor er durch die Ergebnisse scrollt.
Gehen Sie nicht davon aus, dass jede eingegebene Adresse auf Hausebene genau geokodiert wird, bevor Sie die Entfernungsberechnung durchführen. Eine allgemeine Suchanfrage wie nur ein Städtename liefert zwar trotzdem ein Ergebnis, aber mit gröberer Genauigkeit. Wenn Sie diesen groben Punkt so behandeln, als würde er das genaue Gebäude des Kunden bezeichnen, wird Ihre Rangfolge der „nächsten Filiale“ weniger zuverlässig, als die Felder confidence und precision Sie hätten erwarten lassen.
Wenn zwei Filialen mit nahezu identischer berechneter Entfernung zurückkommen, sagt die Entfernung allein dem Kunden nicht, welche tatsächlich besser zu ihm passt. Wenn Sie beide zusammen mit Details wie Öffnungszeiten oder Warenverfügbarkeit anzeigen, erhält der Kunde das entscheidende Kriterium statt einer willkürlichen Sortierung.
Zeigen Sie die formatierte Adresse aus dem Ergebnis der Reverse-Geokodierung neben den Filialergebnissen an, damit der Kunde sofort sieht, ob der erkannte oder aufgelöste Ort dem entspricht, von dem aus er eigentlich suchen wollte, und ihn bei Bedarf korrigieren kann.
Jede Suche ist eine Anfrage zur Reverse-Geokodierung oder zur Geokodierung (Adresse zu Koordinaten), unabhängig davon, mit wie vielen Filialen Sie das Ergebnis danach vergleichen, da die Entfernungsberechnung selbst in Ihrem eigenen Code stattfindet, sobald Sie Koordinaten für beide Seiten haben. Eine Filialsuche mit moderatem täglichem Traffic passt problemlos in die 2.500 kostenlosen Anfragen pro Tag, die in jedem Schlüssel enthalten sind.
Eine auf diese Weise gebaute Filialsuche braucht genau eine Geokodierungsanfrage pro Suche eines Kunden, alles Weitere wird lokal mit Ihrer eigenen Filialliste erledigt. Alle Antwortfelder finden Sie in der Dokumentation zur Reverse-Geokodierung.