HTML5 - Geolocation

Aus Wikizone
Version vom 2. Februar 2013, 15:50 Uhr von 79.240.86.250 (Diskussion) (Die Seite wurde neu angelegt: „Mit html5 steht in den meisten Browsern das navigator.geolocation object zur Verfügung, mit dem man per JS die Position des Browsers feststellen kann. Folgende M…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Mit html5 steht in den meisten Browsern das navigator.geolocation object zur Verfügung, mit dem man per JS die Position des Browsers feststellen kann. Folgende Methoden stehen zur Verfügung

Methoden

   void navigator.geolocation.getCurrentPosition(success_callback_function, error_callback_function, position_options)
   long navigator.geolocation.watchPosition(success_callback_function, error_callback_function, position_options)
   void navigator.geolocation.clearWatch(watch_position_id)

getCurrentPosition

Kann der Browser die Position feststellen wird die Funktion die im ersten parameter angegeben wurde aufgerufen. An diese wird ein Positionsobjekt übergeben (s.u.). Im Fehlerfall wird die zweite Funktion aufgerufen und der Fehlergrund übergeben.

watchPosition

Mit der Funktion watchPosition wird die success_callback_funktion immer aufgerufen, wenn der Browser eine Positionsänderung feststellt. Das kann auch eine Verbesserung der Genauigkeit bedeuten. Es gibt ein jQuery Plugin, welches die Genauigkeit einer Positionsbestimmung verbessert, indem es watchPosition statt getCurrentPosition verwendet.

Die Funktion gibt eine WatchPositionID zurück, über die man den WatchProzess beenden kann. Dazu nutzt man die Funktion clearWatch

clearWatch

Beendet einen watch prozess.


https://github.com/sash/jquery-geolocation

Options

position_options JSON-style string

enableHighAccuracy – boolean (true/false)  Dabei bleibt es dem Gerät überlassen, was es unter High Accuracy versteht
maximumAge – (in milliseconds) Beinflußt das Cache Verhalten des Gerätes.
timeout – The maximum time (in milliseconds) for which you are prepared to allow the device to try to obtain a Geo location


Success Callback Funktion

Bei erfolgreichem Aufruf (Position wird zurückgegeben)

The success_callback_function is passed a single parameter, a position object which has the following properties:

coords.latitude – The current latitude reading
coords.longitude – The current longitude reading
coords.accuracy – The accuracy of the current latitude and longitude readings (in metres)
coords.speed – The current speed reading in metres per second (you can simply multiply by 2.2369 to convert to miles per hour or multiply by 3.6 to convert to kilometres per hour)
coords.altitude – The current altitude reading (in metres)
coords.altitudeAccuracy – The accuracy of the current altitude reading (in metres)

Den Zeitstempel der letzten Position bekommt man über

new Date(position.timestamp);

Beispiel

wpid=navigator.geolocation.watchPosition(geo_success, geo_error, {enableHighAccuracy:true, maximumAge:30000, timeout:27000});


Snippets