Geokoordinaten mit PHP & Google Maps API ermitteln

Latitude und Longitude für eine Adresse ermitteln

In unserem ersten Tutorial würde ich euch gerne zeigen, wie man mit Hilfe von Google Maps und PHP die Latitude (Lat) und die Longitude (Lng) für eine gegebene Adresse ermittelt.

Mit der hier vorgestellten Demo Klasse ist es darüber hinaus auch möglich den umgekehrten Fall zu lösen. Sind nur die Geokoordinaten bekannt, kann daraus auch eine Adresse ermittelt werden.

Hier zunächst einmal die Demo Klasse:

Nachfolgend möchte ich die MapsAPI Klasse bzw. deren Methoden ein wenig erläutern.

_callAPI()

Die Methode _callAPI() ist eine private Methode. Diese führt mit Hilfe von curl die eigentliche Google Maps Abfrage aus.

Wir können dieser Methode gemäß der Dokumentation zu der Google Maps API verschiedene Parameter mitgeben. Diese Parameter entscheiden später darüber, welche Daten die Methode liefert.

Wird die Abfrage erfolgreich durchgeführt, wird ein Objekt bestehend aus der Antwort von Google zurückgegeben. Ist dies nicht der Fall wird der boolsche Wert false zurückgegeben. Der Rückgabewert ist für uns wichtig, damit wir später entscheiden können ob eine Abfrage erfolgreich war oder nicht.

getLatLngByAddress

Die Methode getLatLngByAddress() nutzt die zuvor erläuterte interne bzw. private Methode _callAPI().

Die Methode getLatLngByAddress() erwartet eine Adresse und gibt dann die entsprechenden Geokoordinaten für diese Adresse zurück. Die Geokoordinaten bestehend aus Latitude und Longitude werden als Array zurückgegeben.

Beispiel:

getAddressByLatLng

Die Methode getAddressByLatLng() nutzt ebenfalls die zuvor erläuterte private Methode _callAPI().

Die Methode getAddressByLatLng() erwartet eine Zeichenkette bestehend aus Latitude und Longitude getrennt durch ein Komma und gibt dann die entsprechende Adresse als Zeichenkette zurück.

Beispiel:

Das war auch schon unser erstes Tutorial.

Wir sind auf euer Feedback angewiesen, damit unsere Tutorials euch auch wirklich helfen können. Wenn ihr etwas nicht verstanden habt oder euch wünscht, dass wir Dinge detallierter erklären, dann meldet euch doch bitte einfach bei uns.

Veröffentlicht von

Michael

Webentwickler & SEO

2 Gedanken zu „Latitude und Longitude für eine Adresse ermitteln“

  1. Hallo Michael,

    habe lange im Netz gesucht bis ich dein Projekt gefunden habe. Habe mir in der Zeit eine eigene Abfrage bei openstreet geschrieben.
    An der Stelle ein Hinweis, es gibt Städte mit mit mehreren gleichlautetenten Straßennamen (z.B. Berlin). Deshalb empfehle ich auch die PLZ mit zu übergeben.
    Oder man sollte mehrfach Treffer abfangen.
    Jetzt zu meiner Frage, wie kann ich weitere Daten abfragen, wie Bundesland, Stadtteil, Stadtbezirk?
    Mit results[0]->adress_Components[2]->long_name
    kann ich den Stadtbezirk abfragen, bekomme aber nur NULL als Ergebnis.
    Vielleicht liegt es an den Parametern?
    Hast du eine Idee?

    Gruß Silvio

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *