- Die Geolocation-API spezifiziert eine einheitliche DOM-Schnittstelle,
über die Scripts Geoinformationen vom Browser beziehen können.
Dem Browser ist dabei freigestellt, woher er diese Informationen nimmt. Sie können aus altmodischer IP-Lokalisierung stammen, aus den Standortinformationen des Betriebssystems abgefragt werden oder im Falle von Mobilgeräten aus dem eingebauten GPS-Chip oder der aktuellen Funkzelle stammen. Wie unterschiedlich sich Browser hier verhalten – ob am Desktop oder am Smartphone, lässt sich gut erkennen, wenn man dieses Beispiel in den gängigen Browsern laufen läßt. - Bei der Geolocation-API handelt es sich dabei wirklich um eine stabile
und in allen (modernen) Browsern vorhandene Schnittstelle, vom Firefox 3.5 bis zum Internet Explorer 9 bieten alle Surfprogramme gute Unterstützung.
- Beim Includen der Google Maps API muss der Parameter sensor=false angegeben werden, da sonst Google anstelle von uns selbst die Position des Anwenders ermittelt.
- Bevor die Position bestimmt werden kann, muss der Browser den Nutzer um Erlaubnis für die Übermittlung der Daten fragen. Lehnt der Nutzer dies ab, wird die onError Funktion aufgerufen. Insgesamt stehen vier error codes für die weitere Fehlerbehandlung zur Verfügung.
- Die Geolocation-API erweitert window.navigator um das geolocation-Objekt, das wiederum drei Funktionen rund um Geokoordinaten enthält. Die wichtigste dieser Funktionen ist getCurrentPosition(), die, wie der Name schon andeutet, dem Auslesen der aktuellen Position dient. Das Finden der Position läuft dabei
asynchron ab. Man übergibt getCurrentPosition() eine Callback-Funktion als Argument, der ausgeführt, sobald die Positionen gefunden wurde. Der Callback wiederum erhält als Argument ein Objekt mit den Geoinformationen wie
z.B. latitude oder longitude. - Für die dauerhafte Positionsüberwachung enthält die Geolocation-API mit watchPosition() und clearWatch() zwei weitere Funktionen. Dieser sind z.B. für Anwendungen auf Smartphones von Interesse.
- Standardmäßig ergibt die Positionsbestimmung durch getCurrentPosition() oder watchPosition() die Werte für latitude, longitude und accuracy. Die übrigen Werte sind optional und werden i.d.R. nur befüllt, wenn die Positionsbestimmung per GPS erfolgt.
Quellen:
http://blogs.technet.com/b/sieben/archive/2011/03/10/gastartikel-html5-geolocation.aspx
http://www.worldwidewhat.net/2011/08/find-out-you-visitors-positio-using-html5-geolocation/
Pingback: Reverse Geolocation mit Google Maps V3 in einer mobilen Webseite | rolandsee.de