(0) exportieren Drucken
Alle erweitern

Abrufen der aktuellen Standortposition

Dieses Thema stellt ein Beispiel zur Verwendung der getCurrentPosition-Methode des geolocation-Objekts bereit, um den aktuellen Standort anzurufen und auf einer Webseite anzuzeigen. Die getCurrentPosition-Methode initiiert eine asynchrone Anforderung nach Standortinformationen und gibt diese sofort zurück. Nach erfolgreicher Anforderungsausführung wird ein erfolgreicher Rückruf aufgerufen, den Sie zum Erhalten der Standortdaten implementieren.

Im folgenden Beispiel wird aufgezeigt, wie getCurrentPosition mit einem Rückruf aufgerufen wird und wie dann die eingehenden Positionsdaten verarbeitet werden. Wenn der Benutzer im Beispiel auf die Schaltfläche zum Abrufen des Breiten- und Längengrads (Get Latitude and Longitude) klickt, wird die requestPosition-Funktion des Beispiels aufgerufen, die prüft, ob das geolocation-Objekt verfügbar ist, bevor getCurrentPosition zum Starten der Überwachung von Standortupdates aufgerufen wird. Nach dem Abrufen der Position aktualisiert die Rückruffunktion die Textfelder auf der Seite unter Verwendung der Breiten- und Längengradkoordinaten.


<!DOCTYPE html>  
<html>
<head>
<title>Geolocation API Example</title>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript">

function setText(val, e) {
    document.getElementById(e).value = val;
}

function insertText(val, e) {
    document.getElementById(e).value += val;
}

var nav = null; 

function requestPosition() {
  if (nav == null) {
      nav = window.navigator;
  }
  if (nav != null) {
      var geoloc = nav.geolocation;
      if (geoloc != null) {
          geoloc.getCurrentPosition(successCallback);
      }
      else {
          alert("geolocation not supported");
      }
  }
  else {
      alert("Navigator not found");
  }
}



function successCallback(position)
{
   setText(position.coords.latitude, "latitude");
   setText(position.coords.longitude, "longitude");
}



</script>
</head>
<body>
<label for="latitude">Latitude: </label><input id="latitude" /> <br />
<label for="longitude">Longitude: </label><input id="longitude" /> <br />
<input type="button" onclick="requestPosition()" value="Get Latitude and Longitude"  /> 

</body>
</html>


Wichtig  

Da der erfolgreiche Rückruf asynchron aufgerufen wird, ist nicht vorhersehbar, wie schnell er aufgerufen werden kann. Wenn der Rückruf aufgerufen wird, bevor die Seitenelemente geladen wurden, auf die der Zugriff erfolgt, weist die Webseite nicht die erwartete Funktionsweise auf. Eine Möglichkeit zur Vermeidung dieses Problems besteht darin, getCurrentPosition in einer Funktion aufzurufen, die erst nach dem vollständigen Laden der Seite aufgerufen wird.

Verwandte Themen

Fehlerbehandlung
Erstellen einer Webseite mit Unterstützung der Standortbestimmung
Festlegen des Zeitlimits
Überwachen von Standortwechseln

 

 

Anzeigen:
© 2014 Microsoft