JavaScript: usare la geolocalizzazione

Short link

La geolocalizzazione è una feature che ha dei risvolti molto interessanti nello sviluppo con JavaScript.

I risultati ottenuti tramite queste API variano a seconda del dispositivo usato: su mobile sono molto accurati poiché entra in gioco il GPS, mentre su desktop la loro precisione è molto bassa (nell'ordine di chilometri).

Infatti la geolocalizzazione tramite IP non è completamente affidabile, per cui si raccomanda di utilizzare queste API nello sviluppo mobile. Essenzialmente si tratta dell'invocazione al metodo navigator.geolocation.getCurrentPosition():


'use strict';

const getCoords = () => {
   return new Promise((resolve, reject) => {
       if(!navigator.geolocation) {
           reject({geolocation: 'Not supported'});
       }
       navigator.geolocation.getCurrentPosition(pos => {
           let latitude = pos.coords.latitude;
           let longitude = pos.coords.longitude;
           let accuracy = pos.coords.accuracy;

           resolve({
               latitude: latitude,
               longitude: longitude,
               accuracy: accuracy
           });

       });
   });
};

L'oggetto restituito ci fornisce latitudine, longitudine e precisione. Usando queste API è possibile ad esempio inizializzare una Google Map con la posizione dell'utente.

Demo

JavaScript: geolocation