Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Proprio come molti Maker, ho realizzato alcuni progetti di localizzatori GPS. Oggi saremo in grado di visualizzare rapidamente i punti GPS direttamente in Fogli Google senza utilizzare alcun sito Web esterno o API.
La cosa migliore è che è GRATIS!
Passaggio 1: crea un foglio di calcolo vuoto
Vai a sheet.google.com o docs.google.com/spreadsheets per creare un foglio di lavoro vuoto. Se non hai mai creato un foglio di lavoro su Google prima, puoi iniziare rapidamente guardando questo video.
Ho chiamato il mio foglio di lavoro MapsChallenge, ma puoi usare il nome che preferisci.
Passaggio 2: aggiungi i tuoi dati GPS
La prima riga dovrebbe essere riservata alle intestazioni di colonna. A partire dalla seconda riga, inserisci i punti GPS. Avrai bisogno di tre colonne e devono essere nel seguente ordine:
Tempo
Latitudine
Longitudine
Ecco alcuni punti GPS di un breve viaggio tra un hotel e un ristorante a Houston, in Texas:
Ora Latitudine Longitudine
23:55:33 29,7384 -95,4722
23:55:43 29.7391 -95.4704
23:55:53 29.7398 -95.4686
23:56:03 29.7403 -95.4669
23:56:13 29,7405 -95,4654
23:56:33 29.7406 -95.4639
23:56:43 29.7407 -95.4622
23:56:53 29.7408 -95.461
23:57:03 29.7412 -95.4607
23:57:13 29.7421 -95.4608
23:57:23 29.7432 -95.4608
23:57:33 29.7443 -95.4608
23:57:43 29.7451 -95.4608
23:57:53 29.7452 -95.4608
23:58:03 29.746 -95.4608
Passaggio 3: aggiungi l'automazione
Se hai familiarità con le macro in applicazioni come Microsoft Excel, troverai familiare questo concetto. Il codice che scriveremo qui non viene eseguito localmente ed è JavaScript (ish) non VBA. Fare clic sul menu Strumenti, quindi selezionare Editor di script. Ho chiamato anche il mio script MapsChallenge.
Passaggio 4: usa il mio codice
Elimina il contenuto di Code.gs, quindi aggiungi il seguente codice e fai clic su Salva:
var ThisSheet;
var mappa;
var ThisRow;
var LastPointTime;
var ThisPointTime;
// Esegui una volta che il foglio è aperto
funzione suApri() {
Questa riga=2;
// Ridimensiona la larghezza delle colonne
ThisSheet = SpreadsheetApp.getActiveSheet().setColumnWidths(1, 4, 85);
// Rimuovi tutte le immagini della mappa
ThisSheet.getImages().forEach(function(i){i.remove()});
// Mantieni il testo nelle celle
ThisSheet.getRange('A:D').setWrapStrategy(SpreadsheetApp. WrapStrategy. CLIP);
var Seq=1;
ThisPointTime=ThisSheet.getRange(ThisRow, 1).getValue();
while (ThisPointTime != '') {
// Inizia la didascalia della mappa
ThisSheet.getRange(((Seq-1)*30)+27, 5).setValue('A partire dalla riga '+ThisRow);
// Crea una mappa
mappa = Maps.newStaticMap();
// Primo segnalino
PlaceMarker(Maps. StaticMap. MarkerSize. SMALL, "0x00FF00", 'Green');
// La differenza tra questo punto e l'ultimo è inferiore a 10 minuti
while (ThisPointTime - LastPointTime < 600000) {
// C'è un marcatore successivo o l'ultimo?
(ThisSheet.getRange(ThisRow+1, 1).getValue() - LastPointTime < 600000)? PlaceMarker(Maps. StaticMap. MarkerSize. TINY, "0x0000FF", 'Blue'): PlaceMarker(Maps. StaticMap. MarkerSize. SMALL, "0xFF0000", 'Red');
}
// Aggiungi l'immagine della traccia GPS al foglio
ThisSheet.insertImage(Utilities.newBlob(map.getMapImage(), 'image/png', Seq), 5, ((Seq-1)*30)+2);
// Fine della didascalia della mappa
ThisSheet.getRange(((Seq-1)*30)+27, 5).setValue(ThisSheet.getRange(((Seq-1)*30)+27, 5).getValue() + ' che termina alla riga ' + (ThisRow-1)).setFontWeight("grassetto");
Seq++;
}
}
funzione Segnaposto (a, b, c) {
map.setMarkerStyle(a, b, c);
map.addMarker(ThisSheet.getRange(ThisRow, 2).getValue(), ThisSheet.getRange(ThisRow, 3).getValue());
LastPointTime=ThisPointTime;
ThisRow++;
ThisPointTime=ThisSheet.getRange(ThisRow, 1).getValue();
}
Passaggio 5: chiudi e riapri il foglio di calcolo
L'automazione che abbiamo creato verrà attivata solo dall'evento di apertura del foglio di calcolo. Dopo aver chiuso il foglio di calcolo, vai su drive.google.com e apri il tuo foglio di calcolo.