Sviluppo software

Sviluppo App su misura con Geolocalizzazione GPS

Forti della nostra esperienza nello sviluppo di soluzioni integrate con Google Maps, riceviamo spesso la richiesta di sviluppare una App iOS/Android che implementi la geolocalizzazione di cose o persone attraverso l'uso del GPS presente sugli smartphone.

Vediamo di seguito tutto ciò che c'è da sapere per capire se la propria idea è fattibile e per avere un'idea dei costi di realizzazione.


GPS#

Cominciamo col dire che, sebbene ogni smartphone sia dotato di GPS, questo sistema ha dei limiti.

Il primo limite è che il GPS funziona solo in outdoor (all'aperto). Questo significa che non è possibile stabilire la posizione del proprio smartphone all'interno di edifici.

Il secondo limite è che il GPS è in sola ricezione. Questo significa che il GPS dice al nostro smartphone dove ci troviamo, ma non può essere utilizzato per comunicare la nostra posizione ad altri. Per fare questa operazione serve Internet e quindi è necessaria la copertura di almeno uno tra WiFi, 4G, 3G.

Qualcuno ci ha proposto di utilizzare il bluetooth in caso di assenza di connettività Internet, ma questa strada è difficilmente percorribile in quanto il segnale del bluetooth tipicamente ha un range inferiore ai 10 metri limitando di fatto l'interattività con altri smartphone "vicini".

Per ovviare alla mancanza temporanea di connettività Internet è possibile salvarsi nella memoria dello smartphone la posizione GPS attuale per poi ritrasmetterla una volta tornata la connessione Internet. In questo modo è possibile sviluppare App che possano funzionare anche offline.

Ricapitolando il caso d'uso in cui ha senso sviluppare una App con geolocalizzazione è all'aperto in presenza di connettività Internet.

Mappe#

Quindi col GPS sappiamo dove siamo, con Internet lo possiamo comunicare ad altri, ma se vogliamo anche vedere cosa c'è nei dintorni ci dobbiamo appoggiare ad un servizio che mostri una mappa su cui vengano visualizzati i luoghi di interesse.

Per svolgere questo compito abbiamo deciso di appoggiarci al servizio offerto da Google Maps e alle sue API .

Le API di Google Maps offrono infatti una vasta gamma di funzionalità legata alla georeferenziazione come ad esempio:

  • la possibilità di posizinare un marker sulla mappa specificando le coordinate GPS (latitudine e longitudine);
  • la possibilità di ottenere le coordinate GPS (latitudine e longitudine) di un indirizzo;
  • la possibilità di ottenere un indirizzo date le coordinate GPS (latitudine e longitudine);
  • la possibilità di tracciare dei percorsi;
  • la possibilità di disegnare sulla mappa poligoni ed altri elementi grafici;

Per vedere molte di queste cose potete visionare un progetto che abbiamo sviluppato recentemente per conto di un nostro cliente all'indirizzo: https://www.bemap.it/.

L'unica cosa da tenere presente quando si utilizzano i servizi offerti da Google Maps è che fino ad una certa quota giornaliera di chiamate alle sue API il servizio è gratuito, oltre tale quota ha un costo che varia in base all'uso.

Per le condizioni e i prezzi aggiornati di Google Maps rimandiamo alla documentazione ufficiale:

Elementi di interesse nelle vicinanze#

L'ultimo punto da risolvere nello sviluppo di queste App è quello, data la posizione del nostro smartphone, di identificare gli elementi di interesse nelle vicinanze.

Questo problema si risolve con:

  1. le coordinate GPS del nostro smartphone;
  2. le coordinate GPS di tutti gli elementi censiti nel sistema;
  3. l'utilizzo di una formula matematica che, per ogni coppia di coordinate GPS ci restituisca la distanza che le separa.

In questo modo potremo implementare delle logiche come ad esempio:

  • mostrami tutti gli utilizzatori della stessa App in un raggio di 1, 10, 100 Km;
  • mostrami tutti i luoghi di interesse (bar, locali, supermercati, tabaccai, banche, farmacie, ecc.) nel raggio di 1, 10, 100 Km;
  • mostrami dove si trova Tizio e Caio;
  • mostrami dove si trova la mia macchina, il mio cane, ecc.;

Tutte le logiche insomma che sono diventate alla portata di praticamente tutti grazie alla diffusione degli smartphone.

Come si può intuire da quanto detto fin'ora, per funzionare, una App che offre questo tipo di funzionalità, deve per forza di cose appoggiarsi ad un servizio che tenga memorizzate le coordinate GPS di tutti gli attori coinvolti.

Quindi serve una App, ma serve necessariamente anche uno spazio hosting con un database e molto probabilmente anche una Web Application per amministrare il tutto.

Al di là degli aspetti tecnici, che sappiamo gestire senza problemi, esiste comunque un aspetto legato alla privacy che, in molti casi si risolve chiedendo all'utente il permesso di registrare la sua posizione, ma in altri, come nel caso del rapporto tra datore di lavoro e dipendenti, va approfondito attraverso la consulenza del proprio legale.

Se anche tu hai bisogno di sviluppare una App o una Web Application che implementi funzionalità di geolocalizzazione e georeferenziazione contattaci per un preventivo.

Autore: Lorenzo Chiodi
Senior software developer con più di 16 anni di esperienza nello sviluppo di soluzioni web based, enterprise, su misura. Dal 2011 socio fondatore di Garda Informatica Snc condivide questa avventura col fratello Giovanni.

Che soluzione cerchi?#

Read more!

Newsletter

Ti è piaciuto questo articolo? Iscriviti alla newsletter

Di tanto in tanto pubblichiamo nuovi articoli come questo. Se vuoi essere avvisato lascia il tuo indirizzo e-mail di seguito.

Non invieremo mai SPAM e non condivideremo la tua e-mail con altri. Per maggiori informazioni consulta la privacy policy.

Attendere prego...

closeIcona closesearchIcona searchmore vertIcona more vertmenuIcona menushareIcona sharelinkIcona linkarrow upwardIcona arrow upward