Information Technology Reference
In-Depth Information
Dem Funktionsaufruf werden drei Argumente übergeben:
eine Funktion, die nach erfolgreicher Positionsbestimmung ausgeführt
werden soll (
Success-Callback
),
»
eine Funktion, die auf Fehler nach einer gescheiterten Positionsbestim-
mung reagieren kann (
Error-Callback
) sowie
»
Wertepaare, die die Art der Positionsbestimmung beeinflussen.
»
Laut Spezifikation sind die beiden letzten Argumente optional, das
Success-
Callback
muss immer angegeben werden. Um den JavaScript-Ablauf nicht zu
blockieren, muss
getCurrentPosition()
asynchron, sozusagen im Hintergrund
ausgeführt werden, und erst nachdem die Position bekannt ist oder ein Fehler
aufgetreten ist, kann die entsprechende Callback-Funktionen aufgerufen wer-
den.
In diesem sehr kurzen Beispiel sind beide Callback-Funktionen als
anonyme
Funktionen
implementiert, wobei der Fehlerfall nicht weiter behandelt wird.
Das Wertepaar
enableHighAccuracy: true
weist den Browser an, eine möglichst
genaue Positionsbestimmung durchzuführen. Bei einem Android-Mobiltelefon
bewirkt diese Einstellung zum Beispiel die Aktivierung des internen GPS-Sen-
sors (mehr dazu finden Sie in Abschnitt 7.3, Technischer Hintergrund der Po-
sitionsbestimmung).
maximumAge
legt schließlich die Zeit in Millisekunden fest,
in der eine bereits bestimmte Position wieder verwendet werden darf. Nach
Ablauf dieser Zeitspanne muss die Position neu bestimmt werden - in unserem
Fall alle zehn Minuten.
Nach erfolgreicher Positionsbestimmung enthält die Variable
pos
des Success-
Callbacks im sogenannten Position-Interface Angaben zur Koordinate (
pos
.coords
) sowie einen Zeitstempel in Millisekunden seit 1970 (
pos.timestamp
).
Abbildung 7.2 zeigt die verfügbaren Attribute mit ihren jeweiligen Werten, so-
fern welche vorhanden sind.
Zusätzlich zu
latitude
,
longitude
und
altitude
liefert
pos.coords
auch noch
Informationen zur Genauigkeit der Position (
accuracy
,
altitudeAccuracy
) sowie
zu möglicher Geschwindigkeit (
speed
) und Richtung (
heading
). Während Google-
Chrome sich auf die in der Spezifikation geforderten Attribute beschränkt, gibt
Firefox (hier in der Version 3.6.3) eine ganze Reihe zusätzlicher Informationen
aus - unter anderem sogar Angaben zur Adresse, wie Listing 7.4 zeigt, das ei-
nen Auszug aus dem Ergebnis von
JSON.stringify(pos)
bietet: