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 Juli 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. errorOptional-
Eine optionale Callback-Funktion, die ein
GeolocationPositionError-Objekt als Eingabeparameter akzeptiert. optionsOptional-
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
Loading…
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()