Geolocation: watchPosition() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die watchPosition()-Methode des Geolocation-Interfaces wird verwendet, um eine Handler-Funktion zu registrieren, die automatisch aufgerufen wird, sobald sich die Position des Geräts ändert. Optional kann auch eine Fehlerbehandlungs-Callback-Funktion angegeben werden.

Beachten Sie, dass neben der Anforderung eines sicheren Kontexts diese Funktion möglicherweise durch die geolocation-Permissions-Policy blockiert wird und auch die ausdrückliche Erlaubnis des Benutzers erforderlich ist. Falls erforderlich, wird der Benutzer aufgefordert, wenn diese Methode aufgerufen wird. Der Berechtigungsstatus kann mithilfe der geolocation-Benutzerberechtigung in der Permissions API abgefragt werden.

Syntax

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

Parameter

success

Eine Callback-Funktion, die ein GeolocationPosition-Objekt als Eingabeparameter akzeptiert.

error Optional

Eine optionale Callback-Funktion, die ein GeolocationPositionError-Objekt als Eingabeparameter akzeptiert.

options Optional

Ein optionales Objekt, das Konfigurationsoptionen für die Standortüberwachung bietet. Siehe Geolocation.getCurrentPosition() für weitere Details zu möglichen Optionen.

Rückgabewert

Eine Ganzzahl-ID, die den registrierten Handler identifiziert. Die ID kann an Geolocation.clearWatch() übergeben werden, um den Handler abzumelden.

Beispiele

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

Spezifikationen

Specification
Geolocation
# watchposition-method

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch