Umkreissuche mit Google maps
Ich bin die Entwicklung einer store-location-Anwendung.
Suche nach einem Shop ist, zeigt derzeit die Lage in googlemaps basierend auf Adresse und Postleitzahl.
Nun will ich bauen eine Funktion ein, die zeigt auch andere Geschäfte im Umkreis von 500 meter radius.
Um dies zu tun, ich habe zu tun, die eine Nähe Suche /Berechnung.
Meine größte Frage ist, wie sollte ich diesen Ansatz.
Habe ich finden Sie mit diesem link, die einige Beispiel-code. Aber ich bin mir nicht sicher, ob ich den code verwenden können (und welche von den codes, die ich verwenden sollte). Hat jemand bessere Beispiele?
Auch ich bin am überlegen, das hinzufügen einer neuen Tabelle in der Datenbank, die speichert die geo-Codes für jedes Geschäft. Brauche ich mehr Felder als 'id', 'Breite' und 'Länge' ?
UPDATE
Ich habe gerade festgestellt, dieser link an phpro.org. Wie es aussieht ist es genau das, was ich brauche! Hat jemand verwendet Ihre Beispiele und können kommentieren?
- Hast du POI ' s in deinem system ? oder werden Sie hoffen nun, mit Karten zu tun, wie gut?
- Was ist POI?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie nicht radius suchen Sie direkt mit der google maps API, jedoch sollten Sie wissen (oder können Ihnen herauszufinden über Geocodierung Ihrer Adressen) Längen-und Breitengrad von jedem Punkt von Interesse (POI) Sie möchten in die Suche einbezogen werden.
Nach dieser können Sie die Ein Großer Kreis Gleichung, um die Suche für die Nähe, und es stellt sich heraus, um sehr schnell sein. Wir haben umgesetzt, wie eine gespeicherte Prozedur für die locator-Dienst bei meiner Arbeit und es verwenden, um zu suchen und durch >3500 Standorten mit Antwortzeiten unter 0,1 Sekunden.
Einige SQL-Implementierungen enthalten Geodaten-Erweiterungen. In jenen Implementierungen, die Sie direkt schreiben können eine WHERE-Klausel filtert die Ergebnisse nach der Entfernung von einem bestimmten Punkt.
Überprüfen Sie die Dokumentation zu Ihrer SQL-Implementierung. Wenn es geospatial PUNKT geben, dann ist es sinnvoll, geben Sie die Koordinaten als Punkte, sondern als ein lat/lng-pair-Mädchen und zieht in Betracht, dieses Feld als GEO-TASTE, wenn Sie gehen, um Zugriff auf die Tabelle vor allem nach Standort.