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.