W3cubDocs

/DOM

Geolocation.watchPosition

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The Geolocation method 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 that 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 that provides configuration options for the location watch.

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);

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 compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support 5 Yes 3.5 9 16
16
10.6 — 15
Yes
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes ? Yes 4 15 Yes Yes

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition