Innehållsförteckning:
Video: Lägg enkelt till Google Maps automatiskt och gratis i Google Sheets: 6 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Precis som många Makers byggde jag få GPS -spårarprojekt. Idag kommer vi snabbt att kunna visualisera GPS -punkter direkt i Google Kalkylark utan att använda någon extern webbplats eller API.
Bäst av allt, det är GRATIS!
Steg 1: Skapa ett tomt kalkylblad
Gå till sheets.google.com eller docs.google.com/spreadsheets för att skapa ett tomt kalkylblad. Om du aldrig har skapat ett kalkylblad på Google tidigare kan du snabbt komma igång genom att titta på den här videon.
Jag namngav mitt kalkylblad MapsChallenge, men du kan använda vilket namn du vill.
Steg 2: Lägg till dina GPS -data
Första raden bör vara reserverad för kolumnrubriker. Börja med andra raden, ange GPS -punkter. Du behöver tre kolumner och de måste vara i följande ordning:
Tid
Latitud
Longitud
Här är några GPS -punkter från en snabb resa mellan ett hotell och en restaurang i Houston, Texas:
Tid 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 29.7403 -95.4669
23:56:13 29.7405 -95.4654
23:56:33 PM 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
Steg 3: Lägg till automatisering
Om du är bekant med makron i applikationer som Microsoft Excel hittar du detta koncept bekant. Koden vi kommer att skriva här körs inte lokalt och det är JavaScript (ish) inte VBA. Klicka på Verktyg -menyn och välj sedan Skriptredigerare. Jag namngav också mitt skript MapsChallenge.
Steg 4: Använd min kod
Ta bort innehållet i Code.gs, lägg till följande kod och klicka på Spara:
var ThisSheet;
var karta;
var ThisRow;
var LastPointTime;
var ThisPointTime;
// Kör när arket är öppet
function onOpen () {
ThisRow = 2;
// Ändra storlek på kolumnernas bredd
ThisSheet = SpreadsheetApp.getActiveSheet (). SetColumnWidths (1, 4, 85);
// Ta bort alla kartbilder
ThisSheet.getImages (). FörEach (funktion (i) {i.remove ()});
// Behåll text i celler
ThisSheet.getRange ('A: D'). SetWrapStrategy (SpreadsheetApp. WrapStrategy. CLIP);
var Seq = 1;
ThisPointTime = ThisSheet.getRange (ThisRow, 1).getValue ();
medan (ThisPointTime! = '') {
// Starta karttexten
ThisSheet.getRange (((Seq-1)*30) +27, 5).setValue ('Börjar på rad'+ThisRow);
// Skapa en karta
map = Maps.newStaticMap ();
// Första markören
PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0x00FF00", 'Green');
// Skillnaden mellan denna punkt och den sista är mindre än 10 minuter
medan (ThisPointTime - LastPointTime <600000) {
// Finns det en nästa markör eller den sista?
(ThisSheet.getRange (ThisRow+1, 1).getValue () - LastPointTime <600000)? PlaceMarker (Maps. StaticMap. MarkerSize. TINY, "0x0000FF", 'Blue'): PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0xFF0000", "Red");
}
// Lägg till GPS -spårbild på arket
ThisSheet.insertImage (Utilities.newBlob (map.getMapImage (), 'image/png', Seq), 5, ((Seq-1)*30) +2);
// Avsluta bildtexten
ThisSheet.getRange (((Seq-1)*30) +27, 5).setValue (ThisSheet.getRange (((Seq-1)*30) +27, 5).getValue () +'slutar i rad' + (ThisRow-1)). SetFontWeight ("fet");
Seq ++;
}
}
funktion 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 ();
}
Steg 5: Stäng Öppna sedan ditt kalkylblad igen
Automatiseringen vi skapade kommer endast att utlösas av kalkylbladets öppningshändelse. När du har stängt kalkylbladet går du till drive.google.com och öppnar kalkylarket.