疑難排解

錯誤

如果發生錯誤,系統會傳回標準格式的錯誤回應主體,並將 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\"」參數含有無效值:☃" 您的要求包含無效的引數。這個錯誤最有可能的原因包括:
  • path 參數有問題。
    請注意,至少要有 1 點,但少於 100 分。每個點都必須是一組以半形逗號分隔的數字,例如:48.409114,-123.369158。點應以直立線分隔:「|」。
  • 您的要求包含無效的 placeId
  • 您的要求中同時包含 placeIdpath。每項要求只能指定其中一個參數。

如果 placeId 的道路已不存在或屬於非道路,系統就不會傳回這個錯誤。

403 PERMISSION_DENIED 已封鎖未註冊的要求。請使用 Google Developers Console 註冊。 基於下列一或多項原因,我們已拒絕要求:
  • API 金鑰遺失或無效。
  • 您的帳戶未啟用帳單功能。
  • 已超過自行設定的用量上限。
  • 您提供的付款方式已失效 (例如信用卡已過期)。

如要使用 Google 地圖平台的各項產品,帳戶必須啟用計費功能,且所有要求都必須包含有效的 API 金鑰。如要解決這個問題,請按照下列步驟操作:

404 NOT_FOUND 這項服務需要 HTTPS。 請確認您傳送要求至 https://roads.googleapis.com/,而非 http://roads.googleapis.com/
429 RESOURCE_EXHAUSTED 已達專案要求上限,因此要求遭到限制。 已超出您在 Google Cloud Platform 控制台設定的要求限制。此限制通常設為每日要求數、每 100 秒的要求數,以及每位使用者每 100 秒的要求數。建議您設定這項限制,以免一或少數使用者用完每日配額,同時仍讓所有使用者合理存取。如要設定這些限制,請參閱「限制 API 用量」一文。

指數輪詢

當要求失敗時,您應確保以指數輪詢方式重試要求。例如,如果要求失敗一次,請在一秒後重試;如果再次失敗,請於 2 秒後重試,然後 4 秒後重試,依此類推。這可以確保 Google 伺服器不會因發生故障的要求或大規模失敗,而發生洪水,因為許多用戶端都會嘗試快速重試要求。

疑難排解常見問題

導入問題

我應多久取樣車輛位置?
建議每 1 到 10 秒提供一次高品質貼齊車輛搜尋結果。
每次查詢可傳送的點數數量有上限嗎?
是的,查詢最多只能有 100 點。
我應該使用哪種精確度來儲存貼齊的經緯度組合?
為了確保貼齊路徑在所有縮放等級下 (即使是在最高縮放等級的情況下),則貼齊的經緯度組合應將貼齊的經緯度組合儲存在小數點後 7 位。
我可以使用編碼折線來顯示貼齊路徑嗎?
編碼折線只能指定至小數點後 5 位,因此錯誤約為 2 公尺。因此,如果您想讓貼齊的路徑在高縮放等級中遵循道路,編碼的折線就不適合。

常見問題

某些點無法貼齊,或我貼齊的路徑之間有間隙。該如何修正這個問題?
  • 如果您要按固定間隔對資料點進行取樣,請確保以較短的間隔 (每 1 到 10 秒) 取樣資料點。如果使用較長的間隔 (例如 60 秒),則「前往道路」的演算法可能無法判斷行經的道路精確度是否足夠。
  • 如要手動點選地圖來建立路徑點,建立路徑時,只要只有幾個點或稀疏點,貼齊演算法會無法處理。貼齊演算法最適合用於相近的點。請嘗試使用 Snap to Roads 示範或使用道路檢查器來測試路徑。
為什麼在放大時,我的貼齊路徑會傾斜或稍微偏離道路?
  • 顯示對齊的經緯度組合之前,是否會截斷其精確度?以小於 7 位小數點的精確度儲存貼齊的經緯度組合,會導致地圖上顯示的路徑出現精確度錯誤。
  • 您是否使用編碼折線?編碼折線會將緯度/經度組合截斷成小數點後 5 位,這會造成數個公尺錯誤,導致線條在高縮放等級下傾斜或稍微偏離道路。

如果以上兩種情況皆非,地圖圖塊最近可能更新過,導致圖塊與貼齊的道路索引未同步。如果只有少數查詢受到影響,可能就是問題原因。Google 地圖會定期更新,因此偶爾會出現這種情況,如果您定期查看地圖上的舊路徑 (例如幾週前拍攝的路徑),可能較常發生這個問題。為獲得最佳視覺化效果,建議您在顯示地圖上的舊路徑之前,先重新模擬舊路徑,以便盡量減少地圖圖塊與用於命名道路索引之間的不一致。

道路 X 速限顯示錯誤的可能原因為何?
速限來自數種不同的來源,精確度和涵蓋範圍各有不同。 如果您發現特定模式 (例如特定道路類型或特定區域的速限都有誤),請採取下列步驟通知我們:
  1. 在電腦上開啟 Google 地圖,或開啟 Android 版 Google 地圖應用程式。
  2. 開啟左側選單。
  3. 選取「提供意見」。注意:系統可能會要求您登入。
  4. 選取「編輯地圖」
  5. 選取你要編輯的路段。
  6. 選取「繼續」。
  7. 在「其他」欄位中,指出該道路的速限有誤。
  8. 選取 [提交]。
您也可以在這裡回報其他問題 (例如道路名稱錯誤、繪製有誤、已封閉或私有)。
為什麼我的貼齊路徑已切齊,而不是沿路?
如要修正這個問題,請檢查下列事項:
  • 請確認 interpolate 參數已設為 true
  • 檢查原始資料點的取樣時間間隔是否足夠 (每 1 到 10 秒)。
為什麼我的道路對齊路徑中傳回了很多路段,但速限沒有改變?
interpolate 參數設為 true 時,「對齊道路」查詢會傳回沿著邊角、曲線和圓環繞行道路的折線。如果公路曲線,即使速限不變,系統還是會傳回多個路段,以便建立完全符合道路幾何圖形的折線。