Siamo tutti Geolocalizzati

Scopriamo il servizio ed impariamo a utilizzarlo
I motivi che possono spingere un’applicazione web a chiedere informazioni in merito alla posizione dell’utente che la sta utilizzando possono essere svariati ma, quasi sempre, rientrano in uno di questi due casi: o si vuole arricchire un servizio giĆ offerto integrando con delle coordinate geografiche tutte le informazioni di cui si dispone giĆ , oppure si vuole offrire un nuovo servizio, o nuove informazioni, offerte e opportunitĆ fisicamente vicine all’utente.
Uno dei pionieri della geolocalizzazione come la intendiamo oggi, ĆØ statoĀ Twitter, il servizio di microblogging in grado di geolocalizzare gli utenti e gli argomenti degli stessi, offrendo un elenco di trends divisi per cittĆ .
Altri servizi più o meno noti che fanno uso di questo servizio sonoĀ Gowalla,Ā FoursquareĀ eĀ Latitude. Si tratta di network sociali basati sulla posizione degli utenti. Alcune attivitĆ commerciali, infatti sfruttano un ceck-in virtuale offrendo a chi si trova nelle vicinanze uno sconto o un incentivo all’acquisto.
Perciò mentre alcuni rimangono stupefatti di fronte alla possibilitĆ di comunicare ad amici e parenti la propria posizione, altri restano sbigottiti di fronte a questa “grande fratellata orweliana”. E’ per questo motivo, dunque, che tutte le applicazioni che ne fanno uso, sono costrette a chiedere all’utente se vuole essere geolocalizzato oppure no.
Ma vediamo come implementare il servizio e come utilizzarlo.
Prima di tutto chiamiamo in aiuto il nostro amicoĀ ModernizrĀ Ā grazie al quale testiamo il supporto alle Geolocation API in questo modo
< script >
if (Moderizr.geolocation) {
// Geolocalizzazione supportata
} else {
// invitare l'utente a inserire in modalitĆ manuale
// un riferimento alla propria posizione geografica
// come ad esempio il CAP
}
< /script>
A questo punto proviamo un primo rudimentale esempio di determinazione delle coordinate geografiche:
< script>
if (Moderizr.geolocation) {
navigator.geolocation.getCurrentPosition(geolocalizzami);
} else {
alert("Geolocalizzazione non supportata dal browser!");
}
function geolocalizzami(position) {
document.getElementById("lon").innerHtml = position.coords.longitude;
document.getElementById("lat").innerHtml = position.coords.latitude;
document.getElementById("when").innerHtml = position.coords.timestamp;
}
< /script >
< ul >
< li >Longitudine:< span id="lon">-< /span>< /li >
< li >Latitudine:< span id="lat">-< /span>< /li >
< li >Coordinate identificate il < span id="when">-< /span>< /li >
< /ul >
Longitudine e latitudine non sono le uniche due coordinate accessibili attraverso l’offetto coords.
Ne esistono altre cinque:
coords.altitudeĀ
Se il dispositivo non riesce ad identificare l’altitudine il valore sarĆ null.
coords.accuracy
Fornisce un valore reale non negativo calcolato in metri.
coords.altitudeAccuracy
Esprime in metri il livello di precisione dell’altitudine.
coords.heading
Indica la direzione espressa in gradi partendo dal nord geografico e procedendo in senso orario. Se il dispositivo ĆØ stazionario il suo valore sarĆ NaN (Not a Number).
coords.speed
E’ la velocitĆ espressa in metri per secondo. Se la velocitĆ ĆØ pari a zero, la direzione sarĆ pari a NaN.