Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
Igual que molts fabricants, vaig construir pocs projectes de rastreig de GPS. Avui podrem visualitzar ràpidament els punts GPS directament a Fulls de càlcul de Google sense fer servir cap lloc web ni API externs.
El millor de tot és que és GRATU !T.
Pas 1: creeu un full de càlcul en blanc
Aneu a sheets.google.com o docs.google.com/spreadsheets per crear un full de càlcul en blanc. Si mai no heu creat cap full de càlcul a Google, podeu començar ràpidament mirant aquest vídeo.
He anomenat el meu full de càlcul MapsChallenge, però podeu fer servir qualsevol nom que vulgueu.
Pas 2: afegiu les vostres dades GPS
La primera fila s'ha de reservar per a les capçaleres de columna. A partir de la segona fila, introduïu els punts GPS. Necessitareu tres columnes i han d'estar en el següent ordre:
Temps
Latitud
Longitud
Aquests són alguns punts GPS d’un viatge ràpid entre un hotel i un restaurant a Houston, Texas:
Temps Latitud Longitud
23:55:33 29.7384 -95.4722
23:55:43 29.7391 -95.4704
23:55:53 29.7398 -95.4686
23:56:03 PM 29.7403 -95.4669
23:56:13 PM 29.7405 -95.4654
23:56:33 PM 29.7406 -95.4639
23:56:43 PM 29.7407 -95.4622
23:56:53 PM 29.7408 -95.461
23:57:03 PM 29.7412 -95.4607
23:57:13 PM 29.7421 -95.4608
23:57:23 PM 29.7432 -95.4608
23:57:33 PM 29.7443 -95.4608
23:57:43 PM 29.7451 -95.4608
23:57:53 PM 29.7452 -95.4608
23:58:03 PM 29.746 -95.4608
Pas 3: afegiu automatització
Si esteu familiaritzat amb les macros en aplicacions com Microsoft Excel, este concepte us resultarà familiar. El codi que escriurem aquí no s’executa localment i és JavaScript (ish) no VBA. Feu clic al menú Eines i seleccioneu Editor de scripts. També he anomenat el meu script MapsChallenge.
Pas 4: utilitzeu El meu codi
Suprimiu el contingut de Code.gs i, a continuació, afegiu el codi següent i feu clic a Desa:
var ThisSheet;
mapa var;
var ThisRow;
var LastPointTime;
var ThisPointTime;
// Executa un cop el full està obert
funció onOpen () {
ThisRow = 2;
// Canvieu la mida de l’amplada de les columnes
ThisSheet = SpreadsheetApp.getActiveSheet (). SetColumnWidths (1, 4, 85);
// Elimina totes les imatges del mapa
ThisSheet.getImages (). ForEach (function (i) {i.remove ()});
// Conserva el text a les cel·les
ThisSheet.getRange ('A: D'). SetWrapStrategy (SpreadsheetApp. WrapStrategy. CLIP);
var Seq = 1;
ThisPointTime = ThisSheet.getRange (ThisRow, 1).getValue ();
while (ThisPointTime! = '') {
// Inicia el títol del mapa
ThisSheet.getRange (((Seq-1) * 30) +27, 5).setValue ('Començant a la fila' + ThisRow);
// Crea un mapa
map = Maps.newStaticMap ();
// Primer marcador
PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0x00FF00", "Verd");
// La diferència entre aquest punt i l’últim és inferior a 10 minuts
while (ThisPointTime - LastPointTime <600000) {
// Hi ha un següent marcador o darrer?
(ThisSheet.getRange (ThisRow + 1, 1).getValue () - LastPointTime <600000)? PlaceMarker (Maps. StaticMap. MarkerSize. TINY, "0x0000FF", "Blau"): PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0xFF0000", "Vermell");
}
// Afegeix una imatge de pista GPS al full
ThisSheet.insertImage (Utilities.newBlob (map.getMapImage (), 'image / png', Seq), 5, ((Seq-1) * 30) +2);
// Finalitzar el títol del mapa
ThisSheet.getRange (((Seq-1) * 30) +27, 5).setValue (ThisSheet.getRange (((Seq-1) * 30) +27, 5).getValue () + 'que finalitza a la fila' + (ThisRow-1)). SetFontWeight ("negreta");
Seq ++;
}
}
funció PlaceMarker (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 ();
}
Pas 5: tanqueu i torneu a obrir el full de càlcul
L'automatització que hem creat només s'activarà mitjançant l'esdeveniment d'obertura del full de càlcul. Després de tancar el full de càlcul, aneu a drive.google.com i obriu el full de càlcul.