錯誤
如果發生錯誤,系統會傳回標準格式的錯誤回應主體,並將 HTTP 狀態碼設為錯誤狀態。
回應包含一個物件,其中包含單一 error
物件,且該物件含有下列鍵:
code
:與回應的 HTTP 狀態相同。message
:錯誤的簡短說明。status
:表示錯誤性質的狀態碼。
舉例來說,傳送無效的 placeId
參數會傳回以下錯誤:
{ "error": { "code": 400, "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"", "status": "INVALID_ARGUMENT" } }
可能出現的錯誤包括:
程式碼 | 狀態 | 訊息 | 疑難排解 |
---|---|---|---|
400 | INVALID_ARGUMENT |
您提供的金鑰無效。 | 您的 API 金鑰無效,或是未包含在要求中。請確認您已加入整組金鑰,且已為此金鑰啟用 API。 |
400 | INVALID_ARGUMENT |
「"path" 參數包含無效的值:☃」 | 您的要求包含無效的引數。這項錯誤最可能的原因如下:
如果 |
403 | PERMISSION_DENIED |
未註冊的要求遭到封鎖。請使用 Google Developers Console 註冊。 | Google 基於下列一或多項原因而拒絕要求:
如要使用 Google 地圖平台的各項產品,帳戶必須啟用計費功能,且所有要求都必須包含有效的 API 金鑰。如要修正這個問題,請按照下列步驟操作: |
404 | NOT_FOUND |
這項服務需要使用 HTTPS。 | 請確認您傳送的要求是傳送至 https://roads.googleapis.com/ ,而非 http://roads.googleapis.com/ 。 |
429 | RESOURCE_EXHAUSTED |
已達專案要求限制,因此要求遭到調節。 | 您已超過在 Google Cloud Platform 主控台中設定的要求限制。這項限制通常會設為每日要求次數、每 100 秒要求次數,以及每位使用者每 100 秒要求次數。您應設定這項限制,避免單一或少數使用者耗盡每日配額,同時讓所有使用者都能合理存取資料。如要設定這些限制,請參閱「限制 API 用量」一文。 |
指數輪詢
要求失敗時,請務必透過指數輪詢重試要求。舉例來說,如果要求失敗一次,請在 1 秒後重試,如果再次失敗,請在 2 秒後重試,然後在 4 秒後重試,依此類推。這樣可確保失敗的要求或大規模失敗不會淹沒 Google 伺服器,因為許多用戶端會嘗試快速重試要求。
疑難排解常見問題
導入問題
- 我應該多久取得車輛位置一次?
- 建議每 1 到 10 秒拍攝一張相片,以便取得高品質的路線對齊結果。
- 每個查詢可傳送的點數是否有上限?
- 是,查詢最多可包含 100 個路線控點。
- 我應該使用哪種精確度來儲存已對齊的緯度/經度組合?
- 為確保在所有縮放等級 (包括最高縮放等級) 中,路徑都會沿著道路移動,請將已對齊的緯度/經度配對值儲存為小數點後 7 位的精確度。
- 我可以使用已編碼的折線來顯示已對齊的路徑嗎?
- 經過編碼的折線的精確度僅指定到小數點後 5 位,因此會產生約 2 公尺的誤差。因此,如果您希望經過取樣的路徑在高縮放等級時沿著道路移動,則不建議使用經過編碼的多邊形。
常見問題
- 部分點未對齊,或對齊路徑中出現空隙。該如何修正這個問題?
- 為什麼在放大時,我的對齊路徑會變得鋸齒狀或稍微偏離道路?
-
- 您是否在顯示對齊的緯度/經度組合之前,截斷其精確度?如果以小於 7 小數點的精確度儲存已對齊的經緯度組合,當已對齊的路徑在地圖上顯示時,就會發生精確度錯誤。
- 您是否使用經過編碼的多邊形?經過編碼的多邊形會將經緯度組合截斷至小數點後 5 位,這會導致幾公尺的誤差,導致在高縮放等級下,線條會出現鋸齒狀或與道路略有偏差的情況。
如果上述情況皆不符合,地圖圖塊可能最近已更新,導致與用於對齊的道路索引不同步。如果只有少數查詢受到影響,這可能是原因。由於 Google 地圖會定期更新,因此這類情況偶爾會發生,如果您經常查看地圖上的舊路徑 (例如幾週前拍攝的路徑),這種情況就可能會更頻繁地發生。為獲得最佳的視覺效果,您應在顯示舊路徑之前重新對齊,以便盡量減少地圖圖塊與用於對齊的道路索引之間的不一致性。
- 導致道路 X 的速限顯示錯誤的原因為何?
- 速限資訊來自多個來源,準確度和涵蓋範圍各有不同。如果您發現某種模式,例如特定道路類型的速限或特定地區的速限一直不正確,請按照下列步驟通知我們:
- 在電腦上開啟 Google 地圖,或使用 Android 版 Google 地圖應用程式。
- 開啟左側選單。
- 選取「提供意見」。注意:系統可能會提示你登入。
- 選取「編輯地圖」。
- 選取要編輯的道路路段。
- 選取「繼續」。
- 在「其他」欄位中,指出該道路的速限有誤。
- 選取 [提交]。
- 為什麼我的對齊路徑會沿著路邊走,而不是直接走到目的地?
-
如要修正這個問題,請檢查下列項目:
- 確認
interpolate
參數已設為true
。 - 請確認原始資料點的取樣間隔 (每 1 到 10 秒) 足夠密集。
- 確認
- 為何在沒有速限變更的道路中,我會在已對齊路徑中收到許多路段?
- 當
interpolate
參數設為true
時,路徑對齊查詢會傳回沿著彎角、曲線和環狀交叉路口的道路折線。如果道路是彎曲的,即使速限沒有變更,系統也會傳回多個路段,以便建立緊密貼合道路幾何圖形的多邊形。