תוכן עניינים:
וִידֵאוֹ: הוסף בקלות את מפות Google לגיליונות Google שלך באופן אוטומטי ובחינם: 6 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
בדיוק כמו יצרנים רבים, בניתי מעט פרויקטים של גשש GPS. היום נוכל לדמיין במהירות נקודות GPS ישירות ב- Google Sheets מבלי להשתמש באתר חיצוני או ממשק API.
החשוב מכל, זה בחינם!
שלב 1: צור גיליון אלקטרוני ריק
עבור אל sheets.google.com או docs.google.com/spreadsheets ליצירת גיליון אלקטרוני ריק. אם מעולם לא יצרת גיליון אלקטרוני ב- Google בעבר, תוכל להתחיל במהירות על ידי צפייה בסרטון זה.
שמתי את גיליון האלקטרוני שלי MapsChallenge, אבל אתה יכול להשתמש בכל שם שאתה אוהב.
שלב 2: הוסף את נתוני ה- GPS שלך
השורה הראשונה צריכה להיות שמורה לכותרות העמודות. החל משורה שנייה, הזן נקודות GPS. תזדקק לשלוש עמודות והן צריכות להיות בסדר הבא:
זְמַן
קו רוחב
קו אורך
להלן מספר נקודות GPS מנסיעה מהירה בין מלון למסעדה ביוסטון, טקסס:
זמן קו אורך
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
שלב 3: הוסף אוטומציה
אם אתה מכיר פקודות מאקרו ביישומים כמו Microsoft Excel תמצא מושג זה מוכר. הקוד שנכתוב כאן אינו פועל באופן מקומי והוא JavaScript (ish) לא VBA. לחץ על תפריט כלים ולאחר מכן בחר עורך סקריפט. קראתי גם לתסריט שלי MapsChallenge.
שלב 4: השתמש בקוד שלי
מחק את התוכן של Code.gs ולאחר מכן הוסף את הקוד הבא ולחץ על שמור:
var ThisSheet;
מפת var;
var ThisRow;
var LastPointTime;
var ThisPointTime;
// הפעל לאחר גיליון פתוח
פונקציה onOpen () {
ThisRow = 2;
// שנה את גודל רוחב העמודות
ThisSheet = SpreadsheetApp.getActiveSheet (). SetColumnWidths (1, 4, 85);
// הסר את כל תמונות המפה
ThisSheet.getImages (). ForEach (פונקציה (i) {i.remove ()});
// שמור טקסט בתאים
ThisSheet.getRange ('A: D'). SetWrapStrategy (SpreadsheetApp. WrapStrategy. CLIP);
var Seq = 1;
ThisPointTime = ThisSheet.getRange (ThisRow, 1).getValue ();
while (ThisPointTime! = '') {
// התחל כיתוב מפה
ThisSheet.getRange (((Seq-1)*30) +27, 5).setValue ('מתחיל בשורה'+ThisRow);
// צור מפה
map = Maps.newStaticMap ();
// סמן ראשון
PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0x00FF00", 'ירוק');
// ההבדל בין נקודה זו לאחרונה הוא פחות מעשר דקות
while (ThisPointTime - LastPointTime <600000) {
// האם יש סמן הבא או האחרון?
(ThisSheet.getRange (ThisRow+1, 1).getValue () - LastPointTime <600000)? PlaceMarker (Maps. StaticMap. MarkerSize. TINY, "0x0000FF", 'Blue'): PlaceMarker (Maps. StaticMap. MarkerSize. SMALL, "0xFF0000", 'Red');
}
// הוסף תמונת מסלול GPS לגיליון
ThisSheet.insertImage (Utilities.newBlob (map.getMapImage (), 'image/png', Seq), 5, ((Seq-1)*30) +2);
// סיום כיתוב המפה
ThisSheet.getRange (((Seq-1)*30) +27, 5).setValue (ThisSheet.getRange (((Seq-1)*30) +27, 5).getValue () +'מסתיים בשורה' + (ThisRow-1)). SetFontWeight ("מודגש");
Seq ++;
}
}
פונקציה 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 ();
}
שלב 5: סגור ואז פתח מחדש את הגיליון האלקטרוני שלך
האוטומציה שיצרנו תופעל רק על ידי אירוע פתיחת גיליון אלקטרוני. לאחר סגירת הגיליון האלקטרוני, עבור אל drive.google.com ופתח את הגיליון האלקטרוני שלך.