The Geolocation.watchPosition()
method is used to register a handler function that will be called automatically each time the position of the device changes. You can also, optionally, specify an error handling callback function.
This method returns a watch ID value then can be used to unregister the handler by passing it to the Geolocation.clearWatch()
method.
Syntax
id = navigator.geolocation.watchPosition(success[, error[, options]])
Parameters
- success
- A callback function that takes a
Position
object as an input parameter. - error Optional
- An optional callback function that takes a
PositionError
object as an input parameter. - options Optional
- An optional
PositionOptions
object.
Example
var id, target, options; function success(pos) { var crd = pos.coords; if (target.latitude === crd.latitude && target.longitude === crd.longitude) { console.log('Congratulations, you reached the target'); navigator.geolocation.clearWatch(id); } } function error(err) { console.warn('ERROR(' + err.code + '): ' + err.message); } target = { latitude : 0, longitude: 0 }; options = { enableHighAccuracy: false, timeout: 5000, maximumAge: 0 }; id = navigator.geolocation.watchPosition(success, error, options);
Note
If your application is running on firefox OS, please take a look at geolocation wake lock to keep your application getting position updates while in the background or screen off.
Specifications
Specification | Status | Comment |
---|---|---|
Geolocation API The definition of 'Geolocation.watchPosition()' in that specification. |
Recommendation | Initial specification. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 5 | 3.5 (1.9.1) | 9 | 10.60 Removed in 15.0 Reintroduced in 16.0 |
5 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | 4.0 (4) | ? | 10.60 | ? |
See also
- geolocation wake lock
- Using geolocation
- The interface it belongs to,
Geolocation
, and the way to access itNavigatorGeolocation.geolocation
. - The opposite operation:
Geolocation.clearWatch()
- A similar method:
Geolocation.getCurrentPosition()