Microsoft Excel

Microsoft Excel

venerdì 26 febbraio 2016

Ottenere più percorsi sulla stessa mappa con Google Maps partendo da un foglio di calcolo

Ottenere più percorsi sulla stessa mappa partendo dai dati di lat e lng degli indirizzi registrati su un foglio di calcolo è utile per progettare servizi di reti di traporto e piani di spazzamento delle strade.
Il vantaggio di questo metodo di lavoro è che chiunque è in grado di poter lavorare su un foglio elettronico per modificare il piano (es. un piano di spazzamento): è sufficiente inserire nuovi dati o cambiare gli indirizzi esistenti (nomi delle strade e le relative coordinate di lat e lng) (senza modificare il file html+javascript associato). Inoltre i dati sono immediatamente visibili sulla mappa e possono essere anche stampati.

Partendo da tratti di strada registrati su un foglio di calcolo di google:



Quello che vogliamo è ottenere una mappa con i diversi percorsi tipo:


Procedere come segue:

1. Partire da un foglio di calcolo di Google ed inserire indirizzi e coordinate come abbiamo visto nella prima figura.
Ogni indirizzo è un punto; ogni coppia di indirizzi [successivi] è un tratto del percorso. Nella colonna G sono indicate con S (start) e E (end) l’inizio e la fine di ogni tratto.
Le coordinate possono essere ottenute direttamente dal servizio Google Maps senza bisogno di essere rilevate in loco con un gps. Clicca con il tasto dx del mouse vicino al punto e poi su “che cosa c’è qui?” per ottenere le coordinate del punto.



Google Apps Script è un linguaggio di scripting basato su Javascript con il quale è possibile potenziare le apps base docs, sheets, forms, ecc. offerte dall’azienda. Con gli script possibile creare nuovi add-on, integrare i servizi base con le API, ecc.
Lo script viene digitato in un “Editor di script”, che è fornito da Google nel browser. Anche l’esecuzione dello script avviene con i server di Google.
Nel ns. caso è necessario uno script che ci consenta di estrarre i dati dal foglio di calcolo.
Come abbiamo già visto in un post precedente, in un episodio di Google Maps Shortcuts sviluppatori (https://www.youtube.com/watch?v=OS2Nj5G9cGs), Paul Saxman mostra come estrarre i dati da Google Drive nella vostra app JavaScript. Questo è proprio quello che serve.

2. Per il funzionamento dello script, ripetere la procedura vista in uno dei post precedenti: Accedere alla pagina dell’editor di script del foglio di calcolo → inserire il codice di Saxman già visto nel post precedente (in uno script vuoto, correggendo json con javascript) → Pubblica → Distribuisci come applicazione web (tasto con la nuvoletta).  → Renderlo eseguibile da 'chiunque, anche anonimi'. Nota: Questo significa che chiunque sarà in grado di accedere ai dati in questo foglio di calcolo tramite uno script.





Ricordarsi di inserire i propri dati nelle variabili SPREADSHEET_NAME e SHEET_NAME. Trascrivere l’URL dell’applicazione web.

3. Ottenere una Google api key: 
https://developers.google.com/maps/documentation/javascript/get-api-key.

4. Creare un file html vuoto con un html editor, tipo Notepad++. All’interno del file copiare il codice che si trova a questo indirizzo: 
https://docs.google.com/document/d/1Uhy1oddeG6R4ZTaKJnPhi-zKKBbsTjkZfgmRG-jBllU/edit?usp=sharing 
All’indirizzo: https://docs.google.com/document/d/19Mhn7JruMcdkrOPJFPPmNJ87Tvl3iCaU4Em54f_CrNY/edit?usp=sharing 
ho allegato alcuni miei appunti utili per capire come si arriva a questo risultato: i veri riferimenti da seguire sono però oltre al già citato video di Paul Saxman e alla documentazione di Google sono il post http://googlegeodevelopers.blogspot.it/2014_07_01_archive.html di Sarah Maddox e soprattutto il post 
http://clokey2k.com/demos/multiple-routes-on-google-maps/ di Paul Clokey. 

5. Dalla finestra esegui del vostro editor “lanciate” il file e visualizzerete sul browser tutte le rotte su una stessa mappa.

Buon Lavoro
Daniele Paolinelli