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
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
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
- Die Geolocation API verwenden
-
Das Interface, zu dem sie gehört,
Geolocation
, und wie man darauf zugreift —Navigator.geolocation
. - Die entgegengesetzte Operation:
Geolocation.clearWatch()
- Eine ähnliche Methode:
Geolocation.getCurrentPosition()