Hier eine hilfreiche Funktion, mit der man über die Google MAPS API die Geokordinaten zu einer Adresse ermitteln kann. Diese Daten können dann wiederum in anderen Kartensystemen, wie der Openstreet Map verwendet werden.

function ResponseToArray($response) {

	return json_decode($response,true);
}

function findLocation($string) {

$url = "http://maps.google.com/maps/geo?q=".urlendcode($string)
       ."&output=json&sensor=true_or_false&key=your_api_key";

$raw = file_get_contents($url);

$geodata = ResponseToArray($raw);

$point = $geodata["Placemark"][0]["Point"]["coordinates"];

return $point;

}

Die Verwendung ist relativ simpel, der Funktion muss lediglich eine Adresse als String übergeben werden. Ein Aufruf der Funktion könnte wie folgt aussehen:

$points = findLocation("Tiergarten Berlin");

Zurückgegeben wird der Längen- und der Breitengrad der Adresse.  Das JSON Object, wird über die Funktion ResponseToArray in ein leicht verwendbares Array umgewandelt. Die komplete JSON Antwort beinhaltet auch noch zusätzliche Informationen, die eventuell für ein Kartensystem wie ARCGIS verwendet werden kann. So etwa die nächstgrößere administrative Einheit, i.e. das Bundesland.

{
  "name": "Tiergarten Berlin",
  "Status": {
    "code": 200,
    "request": "geocode"
  },
  "Placemark": [ {
    "id": "p1",
    "address": "Tiergarten, Berlin, Deutschland",
    "AddressDetails": {
   "Accuracy" : 4,
   "Country" : {
      "AdministrativeArea" : {
         "AdministrativeAreaName" : "Berlin",
         "SubAdministrativeArea" : {
            "Locality" : {
               "DependentLocality" : {
                  "DependentLocalityName" : "Tiergarten"
               },
               "LocalityName" : "Berlin"
            },
            "SubAdministrativeAreaName" : "Berlin"
         }
      },
      "CountryName" : "Deutschland",
      "CountryNameCode" : "DE"
   }
},
    "ExtendedData": {
      "LatLonBox": {
        "north": 52.5414820,
        "south": 52.4987120,
        "east": 13.3775360,
        "west": 13.3112690
      }
    },
    "Point": {
      "coordinates": [ 13.3427399, 52.5254980, 0 ]
    }
  } ]
}


Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Weiterführende Links: