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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die watch-Eigenschaft des HTMLGeolocationElement Interfaces erhält und setzt einen booleschen Wert, der angibt, ob der Browser die Standortdaten des Benutzers kontinuierlich aktualisieren soll, wann immer sich die Position des Geräts ändert, oder ob sie nur einmal abgerufen werden sollen.

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

Kontinuierliche Abfrage von Standortdaten

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

HTML

Wir integrieren ein <geolocation>-Element mit einem watch Attribut. Wenn der Benutzer auf den resultierenden Button klickt und die Berechtigung zur Nutzung der geolocation Funktion erteilt, wird der Browser damit beginnen, kontinuierlich Standortdaten anzufordern, wann immer sich die Position des Geräts ändert. Wir fügen auch ein <p>-Element hinzu, um Standortdaten und Fehler auszugeben.

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

JavaScript

In unserem JavaScript greifen wir zunächst auf das Ausgabe-Absatz- und <geolocation>-Element zu und testen den watch Wert, indem wir die watch Eigenschaft abfragen.

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

Anschließend fügen wir einen location Ereignislistener zu dem resultierenden HTMLGeolocationElement-Objekt hinzu, um zu erkennen, wann die Standortdatenanfrage zurückgegeben wird. Wenn die Daten erfolgreich zurückgegeben werden, greifen wir auf sie über die HTMLGeolocationElement.position Eigenschaft zu und geben die Breitengrad- und Längengradwerte im Ausgabeabsatz aus. Wenn die Datenanfrage fehlschlägt, greifen wir über die HTMLGeolocationElement.error Eigenschaft auf den Fehler zu und geben die Fehlermeldung im Ausgabeabsatz 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 beinhaltet auch einen Fallback für Browser, die das <geolocation>-Element nicht unterstützen.

Versuchen Sie, das Demo in einem unterstützten und einem nicht unterstützten Browser anzusehen, und beachten Sie den Unterschied im Ablauf des Berechtigungsdialogs, wenn Sie die Erlaubnis zur Nutzung der geolocation-Funktion erteilen oder verweigern.

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

Spezifikationen

Specification
The HTML Permission Elements
# dom-htmlgeolocationelement-watch

Browser-Kompatibilität

Siehe auch