2010-03-24 14 views
7

Ich brauche einen "Finde den nächsten Ort" auf unserer Website."Ort in der Nähe finden" nach Postleitzahl?

Wenn der Besucher seine Postleitzahl eingibt, wird er auf eine bestimmte Webseite für unseren nächstgelegenen Standort umgeleitet. Wir haben vierzig Standorte in den USA und Kanada.

Wie kann ich so etwas bauen? Kann ich dies mit der Google Maps-API tun? Ich habe bereits eine benutzerdefinierte Karte in Google Maps. Es ist mit unseren Standorten geplottet. Es wäre schön, Google Maps einen Befehl zu senden, um zu sagen "Was ist unser nächster Standort bei ________ Postleitzahl?".

Irgendwelche Vorschläge?

Antwort

7

Überprüfen Sie die Umgebungs-Suche heraus kennzeichnete hier:

Using PHP/MySQL with Google Maps

Sie würden Ihre Postleitzahlen in Koordinaten geocodieren müssen (auch mit der Google Maps API, aber wahrscheinlich vorzuziehen, mit einer vollständigen Adresse zu tun) , dann können Sie die Proximity-Suche ausführen, die im Tutorial detailliert beschrieben wird.

+0

@Pekka die Google Maps-API - ist es möglich, die Berechnung durchzuführen, um die Ergebnisse zu bekommen, aber keine Karte angezeigt werden? – codemonkey613

+0

@codemonkey ja es ist. Sie können eine Geocodierungsanfrage machen (pro Tag auf 10.000 bis) an die API, ohne sie auf einer Karte angezeigt wird, * aber * Ich denke, ihre Nutzungsbedingungen verbieten jede Langzeit-Speicherung der Geokodierung Ergebnisse - sie möchten, dass Sie einen Antrag machen jedes Mal, wenn Sie die Daten benötigen. –

+0

Danke. 10.000 sollten mehr als genug für unsere Bedürfnisse sein. Und ja, wir werden die Ergebnisse nicht speichern. – codemonkey613

0

Google Maps hat Einschränkungen bei der Verwendung für geschäftliche Zwecke sind, so dass Sie möglicherweise diese (Einschränkungen) im Voraus zu betrachten. Von meiner früheren Erfahrung würde ich MapQuest API vorschlagen. Sie können Details finden Sie hier: http://developer.mapquest.com/ und einige Kurzanleitung hier http://www.mapquest.com/features/developer_tools_oapi_quickstart

MapQuest scheint besser zu sein, wenn es um kommerzielle Angebote kommt. Wie auch immer, überprüfen Sie ihre T & C, bevor Sie es in der Produktion implementieren.

Sie haben JavaScriopt ein Ich denke, regelmäßig WS für Geo-Location-Decodierung.

Grüße Konrad

+1

@Konrad Ich bin immer dafür, Alternativen zu Google Maps zu empfehlen, aber die Nutzungsbedingungen von Google sind sehr nachlässig, auch für den Einsatz auf kommerziellen Websites. Es sind nur Websites, die * den Zugang kosten * oder anderweitig für die Öffentlichkeit gesperrt sind, wenn die Verwendung von Google Maps AFAIK verboten ist. –

+0

@Pekka Das klingt nach rechts. – codemonkey613

+0

Vielen Dank für diesen Link, aber ihre Dienste sehen sehr interessant aus. –

4

wenn Sie die Längen- und Breitengrade der einzelnen Stadtteilen (Google-Suche) können Sie die Haversine Formel verwenden können nächsten Nachbarn zu berechnen.

http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe

+1

Das würde erfordern, dass ich eine USA/Kanada-Datenbank von PLZ/Postleitzahlen finde. Welches wären mehr als 80.000 Datensätze; und es müsste auf dem neuesten Stand sein. Das scheint ein wenig Overkill für solch eine einfache Anwendung. Ich hoffe also, dass ich dies mit Google Maps API tun kann. – codemonkey613

+0

Damit ein Benutzer eine Postleitzahl eingibt, wählen Sie alle 40+ Ihrer Standorte aus, da Sie noch nicht wissen, welcher Standort am nächsten ist. Sie loopen die Standorte in Ihrer App-Ebene und rufen googlemaps api auf, um die Entfernung relativ zur vom Benutzer eingegebenen Zip-Datei zu berechnen. 40+ Ajax Anrufe später haben Sie alle Entfernungen für alle 40 Orte, so dass Sie die Liste entsprechend filtern und dem Benutzer anzeigen. hmmm, wie schnell muss das sein? –

+1

Es wäre mehr wie: Benutzer gibt Postleitzahl ein, Google Maps API gibt den Lat zurück und sehnt sich nach dieser Postleitzahl. Ich habe bereits den Lat und sehne mich nach unseren über 40 Orten, benutze die Haversine-Formel, um sie am nächsten zu berechnen. – codemonkey613

3

Sie benötigen ein database von Postleitzahlen mit Längen- und Breitengrad, von dem Sie den Abstand berechnen können.

+0

Die verknüpfte Datenbank verwendet 10 Jahre alte Daten. Neue Postleitzahlen werden sehr häufig hinzugefügt. –

+0

Was ist, wenn ich nur Postleitzahlen habe? – Umair

+0

Heilige Kuh, das ist erstaunlich! Vielen Dank –

Verwandte Themen