(0) exportieren Drucken
Alle erweitern

Einführung in die Geolocation-API

Dieses Thema bietet eine Einführung in die Geolocation-API und erläutert, wie Sie bestimmen können, ob Geolocation unterstützt wird. Außerdem wird der Schutz der Privatsphäre des Benutzers erklärt.

Einführung

In Windows Internet Explorer 9 wird ein integrierter Standortanbieter eingeführt, der Wi-Fi-Standortdaten und IP (Internet Protocol)-Adressinformationen verwendet, um den Breiten- und Längengrad des Computers oder Geräts, auf dem Windows Internet Explorer ausgeführt wird, zu bestimmen. Die Geolocation-API macht die Breiten- und Längengrade für JavaScript mit dem geolocation-Objekt (einem untergeordneten Objekt von window.navigator) auf einer Webseite verfügbar. Das geolocation-Objekt ermöglicht folgende Funktionen einer Webseite:

  • Rufen Sie die aktuelle geografische Position mit der getCurrentPosition-Methode ab.
  • Überwachen Sie die Position auf Veränderungen im Laufe der Zeit mithilfe der watchPosition-Methode. Ein Aufruf von watchPosition hat den Effekt, dass kontinuierlich Standortupdates abgerufen werden, bis clearWatch aufgerufen wird, um die Änderungsüberwachung zu beenden..
Beide Methoden kehren unmittelbar zurück, nachdem sie aufgerufen wurden. Das Ergebnis dieses Methodenaufrufs wird asynchron angezeigt. Jede dieser Methoden verwendet ein Argument für eine Rückrufmethode, die Sie implementieren, um einen bestimmten Standort zu erhalten, wenn er ermittelt wurde.

Ein einfacher Aufruf von getCurrentPosition ohne Erkennung oder Fehlerüberprüfung sieht ggf. wie die folgende Codezeile aus:



  window.navigator.geolocation.getCurrentPosition(show_map);

Die show_map-Rückruffunktion empfängt die Breiten- und Längengradkoordinaten.


  function show_map(position) { 
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    // Add code to show a map here
  }

Beispielwebseiten, die zeigen, wie ein Standort detaillierter angezeigt werden kann, finden Sie unter:

Erkennung von Geolocation-Unterstützung

Bevor Sie die Geolocation-API verwenden, sollte von der Anwendung überprüft werden, ob der Browser sie unterstützt. Wenn die Geolocation-API nicht verfügbar ist, ist window.navigator.geolocation null. Mit dem folgenden Codebeispiel wird überprüft, ob die Geolocation-API verfügbar ist. Wenn der Benutzer auf eine Schaltfläche klickt, zeigt eine Funktion in einem Warnfeld an, ob geolocation unterstützt wird.


<!DOCTYPE html>

<html>
<head>
  <title>Geolocation example: Checking for geolocation support</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Remove this line in production. -->
</head>

<body>
  <p>
    <input type="button" onclick="show_islocationenabled();" value="Is Geolocation supported?" />
  </p>
  <div></div>
  <script>
    function show_islocationenabled() {
      var str = "No, geolocation is not supported.";

      if (window.navigator.geolocation) {
        str = "Yes, geolocation is supported.";
      }

      document.getElementsByTagName('div')[0].textContent = str;
    }
  </script>
</body>
</html>

Im vorhergehenden Beispiel ist das <!DOCTYPE html>-Element oben auf der Seite tatsächlich erforderlich. Die Geolocation-API ist eine Implementierung neuer Standards, die in der W3C-Geolocation-API-Spezifikation festgelegt sind, und Internet Explorer unterstützt nur die Geolocation-API auf Webseiten, die im IE9 Standards-Modus und höher angezeigt werden. Zum Aktivieren des Standards-Modus für Internet Explorer 9 und höhere Versionen geben Sie das <!doctype> directive an, das einen HTML5-Dokumenttyp ausweist.


<!DOCTYPE html> 

Datenschutzüberlegungen

Ausreichender Datenschutz ist eine offensichtliche Befürchtung, wenn ein physischer Speicherort mit einem Remotewebserver gemeinsam genutzt wird. Daher müssen Benutzer für die Geolocation-API eine Berechtigung bereitstellen, damit die Webanwendung auf die Standortinformationen zugreifen kann. Wenn eine Webseite, die Geolocation-Daten anfordert, zum ersten Mal besucht wird, zeigt Internet Explorer eine Benachrichtigungsleiste mit einer Aufforderung für den Zugriff auf den Benutzerstandort an. Ein Aufruf von getCurrentPosition oder watchPosition löst die Aufforderung aus.

Die Aufforderung gibt dem Benutzer die folgenden Optionen:

  • Einmal zulassen: Die Benachrichtigungsleiste wird erneut angezeigt, wenn der Benutzer die Site wieder aufruft.
  • Immer zulassen oder immer verweigern. Internet Explorer speichert die Auswahl des Benutzers, sodass die Benachrichtigungsleiste nicht erneut angezeigt wird.

Die Benachrichtigung blockiert weitere Vorgänge, bis der Benutzer eine Auswahl getroffen hat, sodass die Website den Standort nicht bestimmen kann, solange der Benutzer noch nicht reagiert hat.

Wenn der Benutzer die Berechtigung nicht erteilt, werden der Webanwendung keine Standortinformationen zur Verfügung gestellt. Aufrufe von getCurrentPosition und watchPosition lösen keinen erfolgreichen Rückruf aus. Wenn ein Fehlerrückruf vorliegt, wird er mit einem Fehlercode von PERMISSION_DENIED ausgelöst.

Entwickler von Webanwendungen, die Standortdaten sammeln, sollten die folgenden Richtlinien für den Datenschutz berücksichtigen.

  • Fordern Sie Standortinformationen nur an, wenn sie notwendig sind, und verwenden Sie Standortinformationen nur für die Aufgabe, für die sie bereitgestellt wurden.
  • Löschen Sie die Standortinformationen, wenn die Aufgabe, für die sie bereitgestellt wurden, abgeschlossen ist, außer die Speicherung wurde vom Benutzer explizit zugelassen.
  • Wenn die Standortinformationen auf einem Webserver gespeichert werden, stellen Sie sicher, dass die Standortinformationen vor nicht autorisiertem Zugriff geschützt sind, und geben Sie dem Benutzer die Möglichkeit, die Informationen zu aktualisieren und zu löschen.
  • Legen Sie offen, dass die Anwendung Standortdaten sammelt. Die Offenlegung muss eine Erklärung zu Ausnahmen zu den oben genannten Richtlinien enthalten.

API-Referenz

Geolocation

Beispiele und Lernprogramme

Abrufen der aktuellen Standortposition
Überwachen von Standortwechseln
Fehlerbehandlung
Festlegen des Zeitlimits

Demos für die Internet Explorer-Testversion

W3C-Geolocation

IEBlog-Beiträge

W3C-Geolocation-API in IE9

Spezifikation

Geolocation-API-Spezifikation

Verwandte Themen

12 tolle Ideen zu HTML5-Geolocation
Verwenden von Geolocation im Browser und mit gehosteten Diensten

 

 

Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft