2019/11/06 | 電子報No.0173期 | Google小組

Google Maps因為使用上便利及快速,在最近幾年已經是最被廣泛使用的電子地圖,也因為如此,許多主題地圖網站為了美觀及提高使用意願,會使用Google Maps作為底圖來進行網站的建置。一般來說,套疊Google Maps會採用官方網站所說明的方式進行網站開發,不過系統若非採用Google Maps API建置,又需以Google Maps 為底圖,常會以WMTS的方式套疊非授權的Google Maps圖磚,其原因多半如下:

 
1.網站開發完竣後才有納入Google Maps的需求:使用Leaflet、OpenLayers*(已有整合式方案,如文末所述) 或ESRI開發的網站,因為與Google Maps API不相容,且於建置完成後才發現有加入Google Maps的需求,又礙於無法大規模修改程式碼。
2.特定功能開發須選用特定軟體:因為有功能(例如:面量圖展示、時間軸功能)與縮短開發時程需求,必須使用商用軟體發佈及專屬API進行開發,若為了要套疊Google Maps需改寫以Google Maps API為框架的程式,恐需花大量的時間測試才有辦法達成此特定功能的需求。
3.開發人員溝通問題:主網站使用Google Maps API的架構來進行開發,而在子系統(另開新網頁)套疊單一主題圖的部分,採用WMTS引用非授權圖磚,這或許是因為開發人員溝通上不一致,所以才導致這樣的結果;又或者系統較為龐大,導致開發維護的廠商無法在第一時間檢測完畢所有程式碼,才有這樣的情形。
4.逃避Google計費:直接讀取Google地圖圖磚可以繞過Google計次的機制,因此可以在不需要授權金鑰的情況下套疊Google圖磚,藉此逃避網站管理者付費的議題。

上述的情境為使用WMTS的方式套疊非授權的Google Maps圖磚,這些方式其實違反授權合約,讓我們一起來看看魔鬼如何藏在細節裡。

沒有使用Google Maps API載入的Google Maps圖磚因為無法計算使用量,所以皆是屬於非授權的方法,最直接的辨識方式即是透過Chrome瀏覽器DevTools的檢視(快捷鍵F12並切換Network頁籤),非授權的圖磚來源網址沒有授權金鑰(下圖左側);使用Google Maps API載入的圖磚網址具備授權金鑰(下圖右側,為保護金鑰部分網址隱藏)。



▲ 沒有授權的Google Maps圖磚網址與使用Google Maps API載入的圖磚網址結構不同

 

沒有透過正常的API方式讀取Google地圖可能會造成不佳的使用體驗,例如沒有授權的Google Maps圖磚無法關閉POI點位(下圖左側),若要套疊主題圖層容易使圖面資訊過於複雜;使用Google Maps API載入的圖磚可透過語法關閉商店、餐廳等POI點位資料(下圖右側),讓圖面呈現上較為整潔。



▲ 左圖:非授權的圖磚無法關閉POI資訊;右圖:Google Maps API授權圖磚可關閉POI資訊

 

此外,用手機或平板電腦開啟地圖網站時,在地圖的解析度上也有明顯的差別。沒有授權的Google Maps圖磚其呈現品質較差(如下圖左側),特別是文字註記的顯示上有明顯的毛邊;使用Google Maps API載入的圖磚(如下圖右側)整體解析度較高,使用起來質感也比較佳。



▲ 左圖:非授權圖磚在手機上讀取解析度差;右圖:Google Maps API的圖磚手機讀取解析度佳

 

使用Google Maps API載入的地圖框架具有Google Logo及資料年份、使用條款、回報地圖錯誤資訊,且點擊Google Logo可開啟Web版Google Maps。



▲ Google Maps API載入的地圖框架具有 Logo及資料年份、使用條款、回報地圖錯誤資訊

 

綜合上述情況,我們能透過以下方法來檢視是否有正確使用Google Maps API:

  • ● 使用者可透過檢視地圖下方的Google LOGO與使用條款資訊是否正常顯示。

  • ● 使用者可透過手機或平板電腦檢視Google Maps的底圖品質是否夠清晰。

  • ● 使用者可透過Chrome瀏覽器DevTools檢視載入的圖磚是否具備金鑰資訊。

  • ● 管理人員可透過後台查詢Google Maps的map load使用次數是否有正常增加。

  • ● 開發人員可檢視程式原始碼是否有載入Google Maps API並且初始化使用。

  • ● 開發人員可透過語法關閉Google Maps的特定POI資訊讓圖面更為簡潔。

 

若沒有正確使用授權方式載入Google Maps API可能會遭遇以下情形:

  • ● 整個網域有被Google公司封鎖的風險,不會只針對單一網站封鎖。

  • ● 沒有授權的Google Maps圖面資訊非最新的,有資訊落差的風險。

  • ● 為規避使用Google服務所產生的費用,而造成單位信譽的損失。

 

由技術層面來看,在過去各個地圖框架(map library)有不相容的狀況,開發者僅能選定一種地圖框架進行網站的建置,因此若選用的非Google Maps API框架進行開發,需要載入Google Maps圖磚時僅能採非授權的WMTS圖磚方式套疊。有鑑於此,近期也有許多開源網站提供整合式地圖框架(OpenLayers – Google Maps integration),讓開發者可以載入Google Maps API KEY合法的使用Google Maps圖磚,且同時也可以用熟悉的OpenLayers地圖框架進行開發,以建置最佳化的地圖網站。

最後,為了避免用戶爭議使用問題,Google Maps Platform條款中有明確說明,必須透過API Key取得底圖才是符合規範喔!

 

更多有趣的地圖資訊都在「瑞竣科技 給您地圖新鮮事」,馬上Follow