HTML and CSS Reference
In-Depth Information
Das
error
-Objekt enthält zudem das Property
message
, das eine kurze Beschreibung
(auf Englisch) des aufgetretenen Fehlers enthält. Dieser Hinweis sollte nur während der
Entwicklung in der UI angezeigt werden, da er nicht lokalisiert ist.
Je nach eingetretenem Fall sollte der Entwickler entsprechend mit der Situation umge-
hen. Falls ein Timeout eintritt, kann beispielsweise ein neuer Ortungsversuch mit
höherem Timeout und/oder geringerer Genauigkeit unternommen werden. Falls der
Nutzer der Positionsbestimmung nicht zugestimmt hat, kann die Applikation auf eine
Standardposition zurückfallen oder dem Nutzer eine Erklärung dafür geben, wieso die
angefragte Position zur Nutzung dieser Webseite notwendig ist. Dem Nutzer kann dann
auch die Möglichkeit gegeben werden, erneut einer Anfrage zuzustimmen.
2.5.9
WatchPosition - ständige Positionsupdates
Mittels der
watchPosition-
Methode der Geolocation-Schnittstelle kann eine Applika-
tion per JavaScript ständig aktualisierte Positionierungen empfangen. Je nach Imple-
mentierung unterschiedlich ist dabei die Häufigkeit, mit der diese Methode den Call-
back-Handler aufruft. Schauen wir uns zunächst aber ein einfaches Beispiel an, das der
One-Shot-Anfrage sehr ähnlich ist:
//Callback Funktion, wird aufgerufen, sobald Position vorhanden ist
function showMap(position) {
var lat position.coords.latitude;
var lon position.coords.longitude;
}
function handleError(error) {
...
}
var options {timeout:30000, maximumAge:300000, enableHighAccuracy:true};
var watchId navigator.geolocation.watchPosition(showLocation, handleError,
options);
Im Prinzip nichts bahnbrechend Neues, allerdings gibt die
watchPosition
-Methode
eine numerische ID zurück, die zur Beendigung der ständigen Ortung benutzt werden
kann. Um diese ständige Ortung also zu beenden, wird die
clearWatch
-Methode aufge-
rufen:
navigator.geolocation.clearWatch(watchID);
clearWatch
hat keinen Rückgabewert. Falls die übergebene ID vorhanden ist, wird die
ständige Ortung im Zusammenhang mit dieser ID sofort beendet. Es bietet sich also an,
die ID, die von
watchPosition
zurückgegeben wird, umgehend in einer Variablen zu
speichern. Damit kann dann später die Operation abgebrochen werden, falls die Ortung
nicht mehr erwünscht ist.
Leider gibt die Geolocation-API-Spezifikation nicht vor, wie oft die
showMap
-Callback-
Methode aus unserem Beispiel aufgerufen werden soll. Somit kann es passieren, dass
Ihre Applikation mit Aufrufen überhäuft wird. Es bietet sich daher an, innerhalb der