HTML5 è il linguaggio di programmazione che permette a web designer e sviluppatori di implementare nuovissime funzioni. Il W3C ha dato il via alla rivoluzione del linguaggio di programmazione web, dando molta importanza all’alleggerimento del codice da interpretare da parte del browser e allo stesso tempo aumentando la semantica delle azioni inserite nelle pagine.
Fra le tante nuove possibilità che vengono date a noi designer con questo nuovo linguaggio, oggi vorrei approfondire il discorso della geolocalizzazione. Tale funzione permette al browser web di localizzare la posizione dell’utente che visita la nostra pagina. Tale funzione può essere utilizzata sia per browser web aperti da PC ma anche da smartphone dotati di GPS.
Il codice che richiama tale funzione è questo:
navigator.geolocation.getCurrentPosition(
gotPosition,
errorGettingPosition,
{‘enableHighAccuracy’:true,’timeout’:10000,’maximumAge’:0}
);
“gotPosition” è la funzione di callback che va a richiame i dati di posizione, mentre alla riga 3 viene commentata una azione che interpreta un errore, mentre le altre opzioni servono per indicare una serie di parametri di configurazione quali il timeout o la massima accuratezza possibile.
function gotPosition(pos) {
var outputStr =
“latitude:”+ pos.coords.latitude +”\n”+
“longitude:”+ pos.coords.longitude +”\n”+
“accuracy:”+ pos.coords.accuracy +”\n”+
“altitude:”+ pos.coords.altitude +”\n”+
“altitudeAccuracy:”+ pos.coords.altitudeAccuracy +”\n”+
“heading:”+ pos.coords.heading +”\
“speed:”+ pos.coords.speed +”";
alert(outputStr);
}
La funzione “pos” mostra tutti i dati di posizione messi a disposizione da Google Maps, mentre la gestione degli errori la possiamo interpretare cosi:
function errorGettingPosition(err) {
if(err.code == 1) {
alert(“L’utente non ha autorizzato la geolocalizzazione”);
} else if(err.code == 2) {
alert(“Posizione non disponibile”);
} else if(err.code == 3) {
alert(“Timeout”);
} else {
alert(“ERRORE:” + err.message);
}
}
Nella riga 3 viene richiamato il caso in cui l’utente non autorizzi l’accesso ai dati di posizione del browser, nella riga 5 l’utente viene informato della presenza di errori da parte del servizio di Google Maps.
Questa funzione di geolocalizzazione è ben supportata dalla maggior parte dei browser attualmente in circolazione, la nota dolente proviene da casa Microsoft, dove questa funzione è stata resa pubblica solo nell’ultimissima versione di Internet Explorer 9.
Il vero potenziale di questa funzione viene sfruttata su tutti i dispositivi mobili come Android e iOS. In questo caso la precisione è molto più alta dato che i dati provengono da un dispositivo dotato di GPS, invece per quanto riguarda il grado di accuratezza per i browser aperti su dispositivi fissi, la precisione cala, dato che ci affidiamo alla precisione di servizi terzi, ovvero gli ISP.
A questo indirizzo puoi trovare un esempio della pagina con la funzione inserita.
A questo indirizzo puoi scaricare l’esempio in archivio ZIP con l’intera pagina.
