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.
SyntaxEdit
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.
ExampleEdit
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);
NoteEdit
If your application is running on firefox OS, please take a look at geolocation wake lock to keep your application geting position updates while in the background or screen off.
SpecificationsEdit
Specification | Status | Comment |
---|---|---|
Geolocation API The definition of 'Geolocation.watchPosition()' in that specification. |
Recommendation | Initial specification. |
Browser compatibilityEdit
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 |
See alsoEdit
- 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()