Da HTML5 zurzeit in aller Munde ist, bin ich auf die Geolocation-Funktion in HTML5 gestoßen. Sie erlaubt den Zugriff auf die aktuelle Position des Benutzer bzw. dessen Gerät.
Die aktuellen Koordinationen können auf verschiedene Weise ermittelt werden, z.B. über GPS, WiFi, IP-Adresse und auch einfach händisch vom Nutzer hinterlegt sein. Somit muss die Positionsangabe nicht zwangsläufig korrekt und genau sein.
The Geolocation API defines a high-level interface to location information associated only with the device hosting the implementation, such as latitude and longitude. […] Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs, as well as user input.
Die Geolocationfunktion wird von einigen aktuellen HTML5-fähigen Browser (z.B. Firefox, Safari Mobile) unterstützt. Problemlos ausprobieren lässt sich das Ganze auch auf dem iPhone ausprobieren.
HTML5-Geolocation Beispiel
Im folgenden kleinen Beispiel (bit.ly/bVsQjf) lese ich die aktuellen Koordinaten aus. Selbstverständlich kommt eine Sicherheitsabfrage, ob dies erlaubt werden soll.
Anschließend wird ein Link angezeigt, der die ermittelten Koordination enthält und auf Google Maps verweist. Klickt man darauf, wird die Position in Google Maps angezeigt.
[js]
function getLocation() {
if (navigator.geolocation) { // Funktion showPosition aufrufen, wenn Geolocation verfügbar navigator.geolocation.getCurrentPosition(showPosition);
} else { document.getElementById('result').innerHTML = "Ihr Browser unterstützt leider die Geolocation-Funktion nicht!"; } }
function showPosition(position) { currentPos = position.coords.latitude+","+position.coords.longitude; document.getElementById('result').innerHTML = "Auf Google Maps anzeigen"; }
[/js]
Demo: Geolocation Demo (bit.ly/bVsQjf zum Ausprobieren auf dem iPhone)
Link: Geolocation API Specification
[ad]
Ich hab eben bei peterkroener.de gelesen, dass Geolocation gar nicht Teil von HTML5 ist!
Wusste ich aber auch nicht: Viele ordnen Geolocation HTML5 zu.
Ja, das stimmt. War nicht ganz genau ausgedrückt ;-)
Auf der Testseite würde ich den Hinweis von "Ihr Browser unterstützt leider die Geolocation-Funktion nicht" in "Glückwunsch, Datensparsamkeit ist oberstes Gebot, Ihr Browser unterstützt derartigen Schrott nicht" abändern.
Hi,
für den Firefox kann man auf Veränderungen der Geo-Daten mit der Funktion:
var watchID = navigator.geolocation.watchPosition(function(position) {}
zugreifen.
Zum austesten empfehle ich dir: http://wo-bin-ich-jetzt.de/
Gruß
Andreas