PehBehBeh

Erfahrungen eines Hobby-Webentwicklers

HTML5 Serie: GeoLocation – Koordinaten des Besuchers auslesen

| 3 Kommentare

Mit diesem Artikel erscheint der dritte Teil meiner HTML5 Serie. Das Thema: GeoLocation.

Bisher war es recht schwierig den Standort des Besuchers einer Website ausfindig zu machen. Mit HTML5 ist dies kein großes Problem mehr. Die GeoLocation-Funktion liefert den Standort des Besuchers bzw. dessen Geräts.


Die Funktion

In folgendem Beispiel lesen wir ganz einfach die Koordinaten des Besuchers aus. Natürlich muss dies vom Besucher bestätigt werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var coords;
 
function getGeoLocation()
{
    if (navigator.geolocation) {
        // GeoLocation verfügbar
        navigator.geolocation.getCurrentPosition(saveCoords);
    } else {
        // GeoLocation nicht verfügbar
        alert('Die GeoLocation-Funktion wird von Ihrem Browser leider nicht unterstützt.');
    }
}
 
function saveCoords(position)
{
    coords = position.coords.latitude + ',' + position.coords.longitude;
}

Im der Funktion im Code-Beispiel wird zunächst überprüft, ob der Browser GeoLocation unterstützt. Falls nicht, wird eine Fehlermeldung ausgegeben. Ansonsten werden die Koordinaten des Besuchers abgespeichert und stehen zur Verwendung bereit.

Ein Beispiel

Wer sich eine fertige Anwendung ansehen möchte, kann dies unter html5demos.com/geo machen. Dort wird die aktuelle Position des Benutzers abgefragt und anschließend in Google Maps angezeigt.

Dir hat der Artikel gefallen?
Dann abonniere doch den RSS-Feed!
  • Daniel Blaichinger

    Die Zeile
    navigator.geolocation.getCurrentPosition(’saveCoords‘);
    sollte geändert werden:
    navigator.geolocation.getCurrentPosition(saveCoords);

    Also ohne Anführungszeichen, denn sonst wird die Funktion saveCoords nicht aufgerufen.

  • Vielen Dank für den Hinweis… ist geändert!

  • meXXmasteR

    Hallo,

    die frage wäre noch wie kann ich das ganze z.b übergeben an eine send.php?lat=+lat+&long=+longi+ , sodass ich das ganze speichern kann via mysql ?

    big thanks für die hilfe