2016-05-16 5 views
-1

Ich habe nach Informationen gesucht, was ich erreichen möchte, aber keine klaren Antworten bekommen.Google Map API für die Suche von Adressen

Ich habe eine Datenbank mit Tausenden von Adressen. Ich möchte, dass, wenn der Benutzer durch Eingabe einer Postleitzahl sucht, die Suche alle verfügbaren Adressen in der Nähe der Postleitzahl in einer Karte anzeigen soll. Zoomen würde offensichtlich eine nähere Adresse zu der Such-Postleitzahl zeigen (und daher weniger Suchergebnisse) und das Herauszoomen würde auch weitere Adressen (und daher mehr Suchergebnisse) enthalten. Wenn Sie dann auf das Symbol für den Standort klicken, wird die vollständige Adresse angezeigt.

Muss ich die Adressen als Längen- und Breitengrad speichern oder kann Google Map einen Ort mit Postleitzahl suchen? Wenn ich die Länge und den Breitengrad speichern muss, was ist dann der beste Weg, um eine Adresse in long und lat umzuwandeln?

Ich schätze wirklich, wenn Sie mich auf irgendwelche nützlichen Verbindungen oder wiederverwendbaren Code verweisen können.

Dank

Antwort

0

Wie ich es verstehe, wollen Sie alle am nächsten Orte von Ihren Daten bis zu einem gewissen Ort zu finden, die durch eine Postleitzahl identifiziert wird.

Zuerst müssen Sie alle Ihre Adressen in Koordinaten (Breitengrad und Längengrad) konvertieren. Sie können tun, dass Google Geocode API verwenden, werden Sie als Skript erstellen haben, die für jede einzelne Adresse Google Geocode API in Ihrem db ruft:

https://maps.googleapis.com/maps/api/geocode/json?address=EXAMPLE_ADDRES&key=YOUR_API_KEY 

Die Antwort dieses Skript bringt Ihnen here dokumentiert. Sie können es analysieren, um Längen- und Breitengrade für jeden Standort zu erhalten und sie in Ihrer Datenbank zu speichern. ACHTUNG der Einschränkungen der Google Geocode API. Sie sind aufgeführt here. Sie müssen Ihr Skript so erstellen, dass diese Grenzen nicht überschritten werden. Lesen Sie auch this article, um die Ergebnisse der Geocodierung zwischenzuspeichern, um sicherzustellen, dass Sie nicht gegen die Nutzungsbedingungen verstoßen. Der Artikel enthält auch einige Best Practices und Beispiele für die Geocodierung auf der Serverseite.

Jetzt, wenn jemand Postleitzahl in Ihre Anwendung eingibt, können Sie die Geocoding-API oder Google maps Geocoding service verwenden, um Postleitzahl zu koordinieren, und mit hairsine Formel können Sie die nächstgelegenen Standorte von Ihrem db, Koordinaten des PLZ-Standortes berechnen. Sie können dies auf der Frontend-Seite tun, zum Beispiel in diesem SO answer (anstelle der Adresse werden Sie PLZ + Staat/Land in der Adressleiste eingeben) oder auf Backend-Seite, wenn Sie MySQL verwenden, überprüfen Sie diese SO question.