W3cubDocs

/Web APIs

Geolocation: watchPosition() method

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.

Syntax

js

watchPosition(success)
watchPosition(success, error)
watchPosition(success, error, options)

Parameters

success

A callback function that takes a GeolocationPosition object as an input parameter.

error Optional

An optional callback function that takes a GeolocationPositionError object as an input parameter.

options Optional

An optional object that provides configuration options for the location watch. See Geolocation.getCurrentPosition() for more details on possible options.

Return value

An integer ID that identifies the registered handler. The ID can be passed to the Geolocation.clearWatch() to unregister the handler.

Examples

js

let id;
let target;
let options;

function success(pos) {
  const 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.error(`ERROR(${err.code}): ${err.message}`);
}

target = {
  latitude: 0,
  longitude: 0,
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0,
};

id = navigator.geolocation.watchPosition(success, error, options);

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
watchPosition 5 12 3.5 9 10.6 5 ≤37 18 4 11 ≤3 1.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition