Information Technology Reference
In-Depth Information
$('status').innerHTML = '<span style="color:red">'
+'getting current position / item unsaved</span>';
navigator.geolocation.getCurrentPosition(
function(pos) {
d.pos = pos.coords;
localStorage.setItem(d.id, JSON.stringify(d));
$('status').innerHTML =
'<span style="color:green">item saved. Position'
+' is: '+pos.coords.latitude
+','+pos.coords.longitude+'</span>';
showItems();
},
posError,
{ enableHighAccuracy: true, maximumAge: 60000 }
);
} else {
// alert("Browser does not support Geolocation");
localStorage.setItem(d.id, JSON.stringify(d));
$('status').innerHTML =
"Browser does not support Geolocation/item saved.";
}
showItems();
}
Sollte das Textfeld leer sein ( d.msg = '' ), wird ein entsprechendes Dialogfens-
ter angezeigt und die Funktion mit return abgebrochen. Andernfalls wird der
Zeitstempel auf den aktuellen Millisekundenwert gesetzt und die ID des Ein-
trags aus der Zeichenkette geonotes_ und dem Zeitstempel zusammengesetzt.
Sollten von einem Server mehrere Anwendungen auf den localStorage zugrei-
fen, so kann man über die vorangestellte Zeichenkette eine Unterscheidung
der Daten vornehmen. Nach erfolgreicher Positionsbestimmung wird die Vari-
able pos innerhalb des diaryItem -Objekts mit Koordinaten und den dazugehö-
rigen Meta-Informationen befüllt und anschließend über JSON.stringify() als
JSON-Zeichenkette im localStorage gespeichert.
Sollte der Browser keine Unterstützung für die Geolocation-API haben, spei-
chert die Anwendung den Text dennoch und weist darauf hin, dass die entspre-
chende Unterstützung fehlt. Der abschließende Aufruf von showItems() sorgt
dafür, dass die Liste der Nachrichten aktualisiert wird.
Search WWH ::




Custom Search