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 der Geolocation
-Schnittstelle dient zur Registrierung einer Handlerfunktion, die automatisch aufgerufen wird, jedes Mal wenn sich die Position des Geräts ändert. Optional können Sie auch eine Fehlerbehandlungs-Callback-Funktion angeben.
Beachten Sie, dass diese Funktion zusätzlich zu einem sicheren Kontext durch die geolocation
Permissions-Policy
blockiert werden kann und zudem die ausdrückliche Erlaubnis des Benutzers erforderlich ist. Falls nötig, wird der Benutzer aufgefordert, wenn diese Methode aufgerufen wird. Der Berechtigungsstatus kann mit der geolocation
-Benutzerberechtigung in der Permissions API abgefragt werden.
Syntax
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 das Positions-Tracking bereitstellt. Weitere Details zu möglichen Optionen finden Sie unter
Geolocation.getCurrentPosition()
.
Rückgabewert
Eine ganzzahlige ID, die den registrierten Handler identifiziert. Diese ID kann an die Geolocation.clearWatch()
übergeben werden, um den Handler zu deregistrieren.
Beispiele
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
- Verwendung der Geolocation-API
- Die dazugehörige Schnittstelle,
Geolocation
, und der Zugriff darauf überNavigator.geolocation
. - Die entgegengesetzte Operation:
Geolocation.clearWatch()
- Eine ähnliche Methode:
Geolocation.getCurrentPosition()