Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

HTMLGeolocationElement: watch-Eigenschaft

Die watch-Eigenschaft der HTMLGeolocationElement-Schnittstelle liest und setzt einen booleschen Wert, der anzeigt, ob der Browser die Standortdaten des Benutzers kontinuierlich aktualisieren soll, wann immer sich die Position des Geräts ändert, oder nur einmal abgerufen werden soll.

Sie spiegelt den Wert des <geolocation>-watch-Attributs wider.

Wert

Ein boolescher Wert:

Standardmäßig false.

Beispiele

Grundlegende Verwendung

html
<geolocation watch></geolocation>
js
const geo = document.querySelector("geolocation");
console.log(geo.watch); // true

Standortdaten kontinuierlich abrufen

In diesem Beispiel rufen wir Standortdaten kontinuierlich ab und geben sie auf der Seite aus.

HTML

Wir fügen ein <geolocation>-Element mit einem watch-Attribut ein. Wenn der Benutzer auf die resultierende Schaltfläche klickt und die Erlaubnis zur Nutzung der geolocation-Funktion erteilt, beginnt der Browser, Standortdaten kontinuierlich anzufordern, wann immer sich die Position des Geräts ändert. Außerdem fügen wir ein <p>-Element ein, um Standortdaten und Fehler auszugeben.

html
<geolocation watch></geolocation>
<p id="output"></p>

JavaScript

In unserem JavaScript beginnen wir damit, Referenzen auf den Ausgabepunkt und das <geolocation>-Element zu erfassen und testen den watch-Wert, indem wir auf die watch-Eigenschaft zugreifen.

js
const outputElem = document.querySelector("#output");
const geo = document.querySelector("geolocation");
console.log(geo.watch); // true

Als Nächstes fügen wir dem resultierenden HTMLGeolocationElement-Objekt einen location-Ereignislistener hinzu, um zu erkennen, wann die Standortdatenanforderung zurückgegeben wird. Wenn die Daten erfolgreich zurückgegeben werden, greifen wir über die HTMLGeolocationElement.position-Eigenschaft darauf zu und geben die Breiten- und Längengradwerte in das Ausgabeelement aus. Wenn die Datenanforderung fehlschlägt, greifen wir über die HTMLGeolocationElement.error-Eigenschaft auf den Fehler zu und geben die Fehlermeldung im Ausgabeelement aus.

js
geo.addEventListener("location", () => {
  if (geo.position) {
    outputElem.textContent += `(${geo.position.coords.latitude},${geo.position.coords.longitude}), `;
  } else if (geo.error) {
    outputElem.textContent += `${geo.error.message}, `;
  }
});

Ergebnis

Sehen Sie sich diesen Code live in Aktion (Quellcode) an. Der vollständige Code enthält auch einen Fallback für Browser, die das <geolocation>-Element nicht unterstützen.

Versuchen Sie, die Demo in einem unterstützten und einem nicht unterstützten Browser anzuzeigen, wenn möglich, und beachten Sie den Unterschied im Berechtigungsdialog, wenn Sie die Erlaubnis zur Nutzung von geolocation gewähren oder verweigern.

Beachten Sie auch, dass, da das watch-Attribut des <geolocation>-Elements auf true gesetzt ist, die Standortdaten angefordert werden und das location-Ereignis kontinuierlich ausgelöst wird, jedes Mal, wenn der Benutzer den Standort wechselt.

Spezifikationen

This feature does not appear to be defined in any specification.

Browser-Kompatibilität

Siehe auch