Die W3C Geolocation API ist ein einheitliche Browser-Schnittstelle zum Ermitteln des geographischen Standorts des zugehörigen Endgeräts.[1] Es definiert eine Reihe von Objekten, die mit dem ECMAScript-Standard übereinstimmen, die, sobald sie ausgeführt werden, der Zielanwendung die geographische Lage des Gerätes durch die Abfrage von Servern mit Ortsinformationen mitteilen. Die häufigsten Quellen mit Ortsinformationen sind IP-Adresse (mittels Geotargeting), WLAN und die Bluetooth-MAC-Adresse, RFID, WLAN-Verbindungsinformationen, oder die IDs von GPS und GSM/CDMA2000-Mobiltelefonen. Der Standort wird mit einer Genauigkeit übermittelt, die von der am besten verfügbaren Quelle von Ortsinformationen abhängt.
Browsernunterstützung
Während Geolocation API heute praktisch von allen aktuellen Versionen der verbreiteteren Mobil- und Desktop-Browser unterstützt wird[2], war diese Technologie bei ihrer Einführung häufig nur über das mittlerweile eingestellte Browser-Plugin Google Gears verfügbar.
Wie funktioniert Geolocation?
Obwohl die Implementation nicht genauer beschrieben ist, baut die W3C Geolocation-API auf bereits existierenden Technologien auf und wurde stark von der Geolocation API von Google Gears beeinflusst. Tatsächlich verwendet die Implementation der Geolokation von Firefox[3] Googles Netzwerkpositionsanbieter.[4]
Google Gears Geolocation funktioniert, indem eine Reihe von Parametern, die einen Hinweis auf die aktuelle Ortsposition geben könnten, zu einem Network Location Provider Server (etwa: Netzwerkortsanbieter-Server) gesendet werden, welcher standardmäßig der von Google bereitgestellte ist. (code.l.google.com).[5] Einige dieser Parameter sind eine Liste von Handy-Funktürmen und deren Signalstärke, sowie eine Liste der ermittelten WLANs und deren Signalstärke. Diese Parameter werden in eine JSON-Nachricht eingebettet und an den Network Location Provider Server per HTTP-POST-Methode verschickt. Basierend auf diesen Parametern kann der Network Location Provider ihre Position erschließen.
Beispiel
Der folgende Javascript-Code überprüft ob die Geolocation-API im Browser verfügbar ist und übergibt diese im Erfolgsfall an die Callback-Funktion showPosition, die die Geoposition des Gerätes dann als Alert-Meldung ausgibt. Mit einer zweiten Position showError werden die Fehler abgefangen und ausgegeben, die bei der Ermittlung der Geokoordinaten auftreten können.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition, showError);
} else {
alert('Ihr Browser unterstützt die W3C Geolocation API nicht');
}
function showPosition(position) {
alert(
'Die Geoposition dieses Geräts ist:\n'+
'Breitengrad: ' + position.coords.latitude + '° \n'+
'Längengrad: ' + position.coords.longitude + '°'
) ;
}
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
alert('Sie haben die Abfrage ihrer Geoposition verweigert.');
break;
case error.POSITION_UNAVAILABLE:
alert('Es sind keine Geopositionsdaten verfügbar.');
break;
case error.TIMEOUT:
alert('Das Timeout für die Ortsanfrage wurde überschritten');
break;
case error.UNKNOWN_ERROR:
alert('Ein unbekannter Fehler ist aufgetreten');
break;
}
}
Weblinks
Einzelnachweise
- ↑ "W3C Geolocation API Specification", Editor: Andrei Popescu from Google Inc. , 22 December 2008. Retrieved 07 July 2009
- ↑ Can I use Geolocation? CanIUse.com, abgerufen am 7. Juni 2014 (Datenbank zur Browserunterstützung verschiedener Webtechnologien).
- ↑ http://www.mozilla.com/en-GB/firefox/geolocation/
- ↑ http://code.google.com/apis/gears/geolocation_network_protocol.html
- ↑ WebScanNotes.com - W3C Geolocation API, WebScanNotes.com