Sono anni che quando sviluppo web application o siti internet tengo una finestrella di Parallels aperta su IE6 e compagni successivi per testare la compatibilità, ho smesso di usare i browser Microsoft per la navigazione personale, devo però ammettere che per Internet Explorer 9 nutro una certa simpatia. Innanzitutto Microsoft con Windows 7 ha dimostrato, come con XP, di riuscire a fare lavori buoni e, con la nona versione del browser, questa volta Microsoft ha dimostrato finalmente di riuscire a seguire gli standard.

Il servizio MSDN (Microsoft Developer Network), nato a Redmond, ha il compito di facilitare la vita agli sviluppatori ascoltando e mettendo in ascolto gli sviluppatori con un sistema di feedback in modo da far crescere la comunità dev mettendo in contatto chi realmente vi lavora.

Quindi Microsoft e Internet Explorer 9 al servizio dei navigatori e degli sviluppatori che non devono perdere più tempo dietro fogli di stile condizionali, vediamo insieme il primo di tanti tutorial in piena filosofia HTML5 che propone MSDN: la geolocalizzazione.

Geolocalizzazione e le API W3C secondo Microsoft

IE9 propone nativamente la possibilità di ricavare latitudine e longitudine di un computer o un device in cui gira l'ultima versione del browser Microsoft. Le API per la geolocalizzazione permettono, tramite JavaScript, di usare geolocation object con le seguenti feature:

  • getCurrentPosition: ottenere la posizione corrente
  • watchPosition: aggiorna gli spostamenti
  • clearWatch: ferma la geolocalizzazione

Entrambi i metodi rispondono immediatamente nel momento in cui vengono chiamati, per chiamare la posizione corrente senza il controllo d'errore scriveremo il codice:
window.navigator.geolocation.getCurrentPosition(show_map); 

Per ricevere longitudine e latitudine chiameremo la funzione show_map:

function show_map(position) { <br />       var latitude = position.coords.latitude;<br />       var longitude = position.coords.longitude;<br />       // Add code to show a map here<br />    }

Nel file geolocalizzazione-current-position.html trovate il codice HTML5 che vi permetterà di ottenere, previa autorizzazione del browser, i dati della località corrente.

Testato personalmente su Chrome, Safari e Firefox potrebbe però essere incompatibile con vecchie versioni dei browsers, per questo motivo possiamo controllare se sono supportate le API di geolocalizzazione con il seguente codice:

<!DOCTYPE html>

<html><br />    <head><br />    <title>Geolocation example: Checking for geolocation support</title><br />    <meta http-equiv="X-UA-Compatible" context="IE=9"><br />    <script type="text/javascript">

function show_islocationenabled()<br />    {<br />    // Default to failure condition<br />    var str = "No, geolocation is not supported.";<br />    if (window.navigator.geolocation) {<br />    str = "Yes, geolocation is supported.";<br />    }<br />    alert( str );<br />    }<br />    <br />    </script><br />    </head><br />    <body><br />    <input type="button" onclick="show_islocationenabled()" value="Is Geolocation supported?" /><br />    </body><br />    </html>

 Microsoft fa notare come sia importante seguire le regole del W3C Geolocation API Specification.

Abbiamo visto come ottenere i dati riguardanti longitudine e latitudine dei navigatori, ricordiamo ai lettori di utilizzare queste API sono quando è strettamente necessario, non memorizzare i dati degli utenti tranne previa autorizzazione e mettere al corrente gli utenti che si stanno prendendo informazioni sulla loro posizione.

Analizzeremo in seguito altri interessanti tutorial proposti nel canale Microsoft MSDN.