Kontakt aufnehmen

GeoLocation mit PHP

GeoLocation ist das herausfinden des Standortes einer IP-Adresse. So funktionieren zum Beispiel die standortspezifischen Anzeigen mittels Google AdWords. Wenn ihr mittels GeoLocation auch auf eurer Seite den Standort des Lesers ermitteln wollt habe ich heute etwas für euch: GeoLocation funktioniert mit PHP in nur einer Codezeile!

Basis hierfür ist ein Webservice von GeoPlugin.net. Dem muss man einfach über einen GET-Parameter die IP-Adresse übergeben. Zurück bekommt man einen serialisierten String. Dieser muss dann noch deserialisiert werden und schon hat man ein Array mit den benötigten Daten:

<?php
$location = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
?>

Als Ergebnis bekommt man folgendes Array zurück: (mit print_r($location)):

Array ( [geoplugin_city] => Nottuln [geoplugin_region] => North Rhine-Westphalia [geoplugin_areaCode] => 0 [geoplugin_dmaCode] => 0 [geoplugin_countryCode] => DE [geoplugin_countryName] => Germany [geoplugin_continentCode] => EU [geoplugin_latitude] => 51.9333000183 [geoplugin_longitude] => 7.34999990463 [geoplugin_regionCode] => 07 [geoplugin_regionName] => North Rhine-Westphalia [geoplugin_currencyCode] => EUR [geoplugin_currencySymbol] => € [geoplugin_currencyConverter] => 0.7535226968 )

Wie auch beim Kartenoverlay von Google sind die Angaben nicht ganz genau. Der bei mir gefundene Ort liegt 60km von mir entfernt. Als ich allerdings gestern das ganze durchgeführt habe, bekam ich einen Ort der nur 25km von mir entfernt lag.

Ich denke eine wirkliche Genauigkeit ist auch nicht ganz so wichtig. Wichtiger sind die Regionen. Die hier angegebenen Daten kann man nun auch schön in Google Maps einbauen. Das geht mit dem obigen PHP-Script so:

<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.de/?ie=UTF8&hq=&ll=<?PHP echo $location['geoplugin_latitude']; ?>,<?PHP echo $location['geoplugin_longitude']; ?>&spn=0.29439,0.61454&t=h&z=12&output=embed"></iframe><br /><small><a href="http://maps.google.de/?ie=UTF8&hq=&hnear=Beelen,+Warendorf,+Nordrhein-Westfalen&ll=51.931092,8.114048&spn=0.146493,0.307274&t=h&z=12&source=embed" style="color:#0000FF;text-align:left">Größere Kartenansicht</a></small>

Einsatzmöglichkeiten:

  • Sprach & Ländervorbelegung auf internationalen Anzeigen
  • Regionsabhängige Anzeigen
  • Standortabhängige Server-Wahl (zum Beispiel für Download-Portale)

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Kommentare

Julian Baumüller schrieb am 04.11.2011:

Das Tutorial ist wirklich spitze! Für Entwickler unübertrefflich wenns um ein neues Projekt wie eine Website geht! Vielen, vielen Dank !! Julian Baumüller

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern