Tips:這個應用需要串接 Google 的地圖平台,並使用其中的 Directions API,每次調用 API 的價格約為 0.005 美元,你可以參考 Make 的官方文件與 Google 的定價說明來了解更多細節。
你也可以參考這份文件,了解如何查看自己的 API 用量與帳單。
如果你是交通、運輸業者,或者是常跑外勤的業務,應該會很常有預估時間、計算油費的需求,舉例來說,你可能會有個像是這樣的表單:
不過,使用者如果要自己手動記錄里程、耗時,寫起來其實很麻煩,行程要是多起來,難免也會忘東忘西,最後根本就沒辦法有效率地掌握資訊。
然而,大家上路時常用來導航的 Google Maps,其實就會幫你算出預估的行車時間跟里程了。想想看,如果你只要在 Ragic 表單的地址欄位中填入自己的起點與目的地,就能讓電腦幫你把 Google Maps 算出來的行車路線、耗時跟里程填到表單裡,甚至依照里程算出油費,是不是就可以省下很多瑣碎的手動操作?
想做到這件事,你可以透過 Make(原 Integromat)設計一套如下的串接流程:
當在 Ragic 登記行程的起點與終點時,自動透過 Google Maps 計算路徑,並回傳路線與資訊回 Ragic。
接下來,我們會介紹兩種不同的設計方式,分別是比較簡單的兩點之間計算行程,以及更適合物流、運輸業者的多停靠點計算:
你可以分別點擊上述文字敘述,跳轉到符合你需求的段落。
如果你是偶爾跑跑外勤的業務、需要出門辦點事的人,那麼大多數的時間應該都會是在公司、目的地兩個地點之間來回,在這個情況下,你可以嘗試比較簡單的串接設計。
要開始登記行程資訊,你可以製作一個像下圖一樣的「外勤登記表」表單:
Tips:因為稍後從 Google Maps 取得的資料當中,距離與耗時分別會以「公尺」和「秒」為單位計算,因此建議在欄位名稱上就先備註起來以免造成混亂。
如果你的公司有直接依據公里數補助油錢,你也可以再加入一個「油費估算」欄位,並依照需求設計公式。
舉例來說,如果公司給予的補助是每公里 9 元的話,就可以設計公式如下:
建立表單之後,就可以打開 Make,指定串接到這個表單了。
接下來,我們建議你直接先按一次左下角的 Run Once,並且建立一筆測試用的模擬資料,讓 Make 可以取得表單的欄位與測試資訊:
接下來,你需要在 Make 加上一個 Google Maps 的動作端。由於我們需要計算最佳路徑,並得出這個路徑的里程與耗時,因此要選擇「Get Directions」這個動作:
如果你是第一次使用 Make 串接 Google Maps,就會需要透過 API Key 來進行連結,為此,你需要在 Google 雲端平台上取得 API Key,具體步驟如下:
1. 首先,點擊這裡並以你的 Google 帳號登入雲端平台
2. 點擊上方的「選取專案」,並且在彈出視窗中選擇專案或新增專案
(如果你曾經建立過專案,請直接移至第 4 步)
3. 輸入專案資訊並點擊建立
4. 點擊上方的漢堡選單,並依序點擊「API 和服務」→「程式庫」
5. 搜尋以下的 API 並參考下圖一一啟用:
.Geocoding API
.Maps Elevation API
.Time Zone API
.Directions API
.Distance Matrix API
.Maps Static API
.Places API
.Geolocation API
.Roads API
6. 再次展開漢堡選單,選擇「API 和服務」中的「憑證」
7. 點擊 API 金鑰旁的「顯示金鑰」
複製完 API Key 之後,就可以將其貼在 Make 上,完成帳號連接囉!
接下來需要設定 Google Maps 用來計算路徑的起點與終點。因為我們剛剛建立的測試資料有輸入值,因此我們除了看到欄位編號之外,還會順帶看到這個欄位內的資料值,讓我們更好選取到正確的欄位,像是我們知道「終點」會是「100台灣台北市中正區忠孝西路一段47號B1」這個值,就可以直接看到對應的欄位編號是 1003173:
由於我們要將 Google Maps 產生的結果再回傳到 Ragic,因此需要再建立一個 Ragic 的「Update a Record」(更新資料)動作端,將資料更新回「外勤登記表」上。
為了讓 Make 知道要更新到哪筆資料上,首先,你要在 Key Domain 上選擇我們設計的「獨特值」欄位,也就是「行程編號」欄位,參照的 Keyword 則直接填入從觸發端取得的值:
接下來,就可以指定要從 Google Maps 取得哪些資料了。由於我們希望 Google Maps 可以幫我們算出兩點之間的最佳路線,並且取得這條路線的里程跟耗時,因此你可以參考下圖,個別需要在這三個欄位裡面填入這些值:
要注意的是,Google Maps 提供的 Distance 與 Duration 都分成 Text(文字)和 Value(數值)兩個選項,你可以參考下方的說明進行換算:
Distance:Value 的單位是「公尺」,如果 Value 顯示為 1941,那在 Text 上會顯示為 1.9 km。
Duration:Value 的單位是「秒」,如果 Value 顯示為 263,那在 Text 上會顯示為 4 mins。
為了更彈性、精準地計算數值,因此我們會建議選擇串接 Value。
其他的欄位則可以直接留白。再按下 OK 之後,就完成這個串接應用了。
完成設計之後,點擊畫面左下角的 Run Once,再一次測試串接是否能夠正確運作吧!
首先,直接複製當時的測試資料:
按下儲存之後,回到 Make 可以看到剛剛流程有被觸發一次。
再到 Ragic 重新載入一次資料,就可以看到剛剛留白的欄位都被填滿,油費估算欄位也已經算出結果囉!
如果你的停靠點比較多,例如像是物流運輸業者,可能一次出門就要連續停靠好幾個點,那麼以上的串接方式就不太適合你。
為了更完整、方便登記資訊,我們建議調整一下設計的方式:
1. 先建立一個囊括整天行程的「行程總表」
2. 從中建立一個子表格
3. 使用這個子表格建立新表單之後,再沿用上述基礎串接的方式進行設定。
你可以簡單建立一個行程總表,除了基本資訊之外,由於我們將會有多個停靠點,因此地點資訊會放在下方的子表格,欄位配置如下:
如果你希望更好統整資訊的話,也可以再透過 SUM 公式,將里程與耗時加總起來:
Tips:因為稍後從 Google Maps 取得的資料當中,距離與耗時分別會以「公尺」和「秒」為單位計算,因此建議在欄位名稱上就先備註起來以免造成混亂。
而如果你的公司有直接依據公里數補助油錢,你也可以再加入一個「油費估算」欄位,並依照需求設計公式。
舉例來說,如果公司給予的補助是每公里 9 元的話,就可以設計公式如下:
因為我們會將行程的地點資訊登記在子表格當中,但子表格本身不是一個獨立的資料,因此我們會需要從子表格產生新表單,將這些行程轉為獨立的資料。
產生的新表單看起來會像這樣:
不過,為了讓 Make 可以回傳資料,因此這張表單內也需要一個可以辨識的獨特值,你可以再加上一個自動產生欄位,並用「行程編號」作為依據,再為欄位調整一下排列,最終看起來就會像這樣:
做完這個步驟之後,其實我們要做的事情就跟基礎串接大致相同了!儲存設計之後,就可以到 Make 設定觸發端:
完成設定之後,你可以先按一下畫面左下角的「Run Once」,並在「行程細項」表單裡新增一筆資料,這樣一來,Make 才能取得表單內的欄位細節。
接下來,你需要在 Make 加上一個 Google Maps 的動作端。由於我們需要計算最佳路徑,並得出這個路徑的里程與耗時,因此要選擇「Get Directions」這個動作:
按照指示完成帳號連結之後,只要在 Google Maps 上設定起點與終點,Make 就會自動幫你將這些資料傳入 Google Maps 進行運算了。
完成 Google Maps 的動作端設計之後,我們也需要再加一個 Ragic 的動作端以回傳資料,不過要特別注意的是,因為我們要讓 Make 串接到「行程細項」這張表單,因此這裡的 Key Domain 與 Keyword 並不是「行程編號」,而是我們另外設計的「細項編號」欄位。
接下來,就可以設定里程、耗時和路線這幾個欄位的串接了。
關於這個步驟的更多細節,你可以再點擊這裡查看如何將帳號連接至 Google Maps,以及對兩個動作端進行設定。
設計完成之後,就可以開始測試串接應用是否正確運作了。
為了確定串接能夠正常運作,再一次按下左下角的 Run Once,啟動串接流程吧!
啟動串接流程之後,你需要到「行程細項」表單,再新建一筆資料:
按下儲存之後,回到 Make 可以看到三個步驟都有被觸發、完成動作:
再回到表單上看,也可以看到行程的詳細資訊被電腦自動填入囉!
最後,再到行程總表上確認,就可以看到子表格內的第二筆資料——剛剛有觸發 Make 流程的資料,都已經有完整的資訊了,下方的總里程、總耗時跟油費估算也完成計算了:
你可以再多建幾筆資料,確認欄位內的公式設計沒有問題,或者再依照需求多建立一些欄位,確認完全正常運作之後,就完成串接應用跟表單的設計囉!
要注意的是,雖然新表單「行程細項」與母表單「行程總表」內的子表格是連接關係,但是 Make 的 Watch New Record 現階段只會偵測直接從新表單新增的資料,因此之後要登記資料時,都必須從「行程細項」這個新表單進行。