Lokalisierung von Usern
Den meisten Webmastern ist es egal, aus welcher Stadt die User kommen. Die Angabe des Landes reicht in den meisten Fällen aus, um Statistiken zu erstellen und standortbezogenen Inhalt brauchen viele auch nicht. Es gibt allerdings auch Anwendungsfälle, bei denen man einen möglichst genauen Standort des Users benötigt. Um den Standort des Users herauszufinden gibt es generell zwei Möglichkeiten, die ich kurz vorstellen werde:
1.) die Geolocation API
Bei diesem Verfahren wird die Position vom Browser des Users abgerufen. Außerdem muss der User eine Verwendung der API zustimmen. Für eine genaue Standortbestimmung werden die WLAN-Netzwerke in der Umgebung verwendet. So kann die Position auch ohne GPS-Modul im Rechner auf einige Meter genau bestimmt werden.
Die Geolocation API ist z.B. im Firefox, Chrome und auf dem iPhone implementiert und basiert auf eine Spezifikation des W3C. Die API wird via Javascript angesprochen und ist ein Kindobjekt von navigator. Aus Kompatibilitätsgründen sollte vorher immer gecheckt werden, ob der benutzte Browser die Geolocation API implementiert hat.
Beispielaufruf:if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
alert(
'deine Standort:' +
position.coords.latitude +
' ' +
position.coords.longitude
);
});
}else{
alert("Geolocation nicht verfügbar.");
}
2.) Lokalisierung nach IP
In diesem neumodischen Internet gibt es gefühlt Zehntausende von Anbietern, die sich auf die Lokalisierung von IP-Adressen spezialisiert haben. Eine Handvoll davon bieten ihre Dienste sogar kostenlos an, auch wenn die Aufrufe pro Tag dann bei allen kostenlosen Anbietern limitiert ist. Die Genauigkeit des Standortes ist anders als bei der Geolocation API eher ungenau, meistens muss man froh sein, wenn wenigstens die genannte Stadt richtig ist. Die Längen- und Breitengrade, die bei solchen Diensten zum Teil ausgegeben werden sollten getrost vergessen werden.
Welcher Anbieter ist der beste?
Keine Ahnung. Sagt mir, wenn ihr den perfekten Gefunden habt. Ich verwende im Moment utrace.de und bin eigentlich auch ganz zufrieden damit. Der Anbieter stellt seine Datenbank für nicht-kommerzielle Seiten kostenfrei zu Verfügung, die Abfragen pro Tag sind allerdings auf 100 limitiert. utrace.de stellt eine einfache XML-Schnittstelle zur Verfügung, die mit quasi jeder Programmiersprache angesteuert werden kann. Mehr Infos zur API von utrace.de findet ihr übrigens hier.
Zum Schluss, für alle die sich jetzt denken “jaa, und was nehm ich denn jetzt?”: Am besten die Geolocation API mit einem Fallback auf die Lokalisierung nach IP, damit’s auch beim dümmsten IE einigermaßen funktioniert ![]()