blog.bartlweb - a technologist's external brain

Google Geocode Service in PHP nutzen

Google bietet die Möglichkeit Positionsdaten von Adresse, Städten, Straßen mittels Geocoding zu ermitteln. Dies kann Clientseitig mittels JS passieren oder aber auch Serverseitig durch den Aufruf einer URL. Dabei liefert Google ein XML-Dokument zurück, dass mittels PHP leicht geparst werden kann.

URL-Syntax

http://maps.google.com/maps/geo?q=[]&output=[]&key=[]
  • q
    Suchanfrage
    mehrere Worte mit + verbinden
  • output
    Typ der Ausgabe: xml oder html
    Standard ist xml
  • key
    ein gültiger Google-API-Key
http://maps.google.com/maps/geo?q=1200+wien&output=xml&key=ABQIAAAAs-81XuoxqzyG-Ie2CT72UhTfU3gdmQ-RPKoFZ_gIMx2_IU9bDxSUIz5Wk18sfrWsnp26WYx3VDsLSg

PHP-Code

function getCoordinates($address,$api_key) {
  $result = false;
  $url = 'http://maps.google.com/maps/geo';
  $url .= '&q=' . rawurlencode($address);
  $url .= '&key=' . $api_key;
  $url .= '?output=xml';
  $coords = array();

  if ($_result = file_get_contents($_url)) {
    if (preg_match('/<coordinates>(-?\d+\.\d+),(-?\d+\.\d+),(-?\d+\.?\d*)<\/coordinates>/', $result, $match)) {
      $coords['lon'] = $match[1];
      $coords['lat'] = $match[2];
      $result = true;
    }
  }

  if ($result) {
    return $coords;
  }

  return $result;
}

Dieser Artikel hat Dir deinen Tag gerettet?

... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? Oder einfach nur Dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Anerkennung honorierst:

Zahlung mit PayPal oder Kreditkarte.

Hinweis zur Verwendung

Die Übermittlung einer Zahlung ist eine persönliche Anerkennung Ihrerseits an den Entwickler (Christian Bartl, Privatperson). Eine Zahlung ist nicht zweckgebunden und es ist keine Gegenleistung zu erwarten. Bitte beachten Sie, dass für eine übermittelte Zahlung keine Quittung ausgestellt werden kann.

Über den Autor

Christian Bartl

Christian Bartl Projektmanagement & Konzeption für Online und Mobile

Als Technologie-Enthusiast und begeisterter Programmierer entwickle ich in meiner Freizeit Websites, Software und IT-Lösungen, die mir selbst und anderen den Alltag vereinfachen.

mehr auf bartl.me

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste! - Ich freue mich über deine Anmerkung, Kritik oder Frage.

Kommentar schreiben

Der hier angegebene Name wird gemeinsam mit deinem Kommentar auf der Website veröffentlicht.

Deine E-Mail-Adresse wird zur einmaligen Benachrichtigung bei Veröffentlichung des Kommentars genutzt.

Benachrichtigung per E-Mail über Antworten auf meinen Kommentar erhalten.

Bitte tippe die Zahlenkombination "6643" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.