疑難排解

錯誤

如果發生錯誤,系統會傳回標準格式錯誤回應內文,並將 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 Console 設定的要求限制,這項限制通常為每日要求、每 100 秒的要求數,以及每位使用者每 100 秒的要求數。您應該設定這項限制,以免單一或一小群使用者耗盡您的每日配額,同時繼續為所有使用者提供合理的存取權。如要設定限制,請參閱限制 API 用量一文。

指數輪詢

要求失敗時,應重試進行指數輪詢。例如,如果要求失敗一次,在一秒後重試,如果第二次失敗,請於 2 秒後重試,依此類推。這樣可以確保失敗的要求或範圍大規模失敗,也不會使 Google 伺服器浪費資源,因為許多用戶端經常嘗試重試要求。

疑難排解常見問題

實作問題

我應該以什麼頻率取樣車輛位置?
建議每 1 到 10 秒就進行高品質的貼齊道路測試。
每次查詢可傳送多少點數?
有,每項查詢最多只能有 100 分。
我該使用哪種精確度來儲存貼齊的經緯度組合?
如要確保貼齊的路徑在所有縮放等級下沿路顯示,即使達到最大縮放等級,儲存的經緯度組合時,應將精確度放在 7 位數。
我可以使用編碼的折線顯示貼齊路徑嗎?
編碼折線時,只能指定 5 位小數點的精確度,因此會產生約 2 公尺的錯誤。因此,如果您想使用貼齊的折線在高縮放等級時沿著道路行駛,就不適合使用編碼折線。

常見問題

部分點沒有對齊,或者我的路徑有任何缺漏。要如何修正這個問題?
  • 如果您要在固定的時間間隔取樣點,請確保分數會以較短的間隔 (每 1 到 10 秒) 進行取樣。如果使用較長的間隔 (例如 60 秒),靠道路行駛的演算法可能無法判定道路的準確性精確。
  • 如果您是以手動方式點擊地圖來建立點,很容易就會用筆劃的點或稀有點來建立路徑,但實際情況並不容易。貼齊演算法最適合用於相近的點。使用 Snap to Roads 示範,或使用道路檢查器來測試路徑。
為什麼放大時,我的貼齊路徑會晃動或偏離道路?
  • 在顯示緯度/經度配對之前,系統會先截斷經緯度的精確度嗎?儲存小於/7 位數的精確對齊緯度/經度組合時,會在地圖上顯示路徑的路徑時導致精確度錯誤。
  • 您是否使用編碼折線?編碼折線會將經緯度組合截斷成小數點後 5 位,因此會產生數公尺,因此在縮放等級較高時,線條會遭到線條折損或略微偏離。

如果上述兩種情況都不是,地圖圖塊最近可能已更新,導致無法與用於移動的道路索引不同步。如果只有少數查詢受到影響,這可能是原因所在。由於 Google 地圖會定期更新,因此有時可能會頻繁顯示地圖中的舊路徑 (例如數週前拍攝的路徑)。為達到最佳視覺效果,您應該先重新刷出舊路徑,再在地圖上顯示這些路徑,盡量減少地圖圖塊與用於綁定的道路索引之間的不一致。

哪個原因導致 X 道路的速限有誤?
速度限制源自多個來源,準確度和涵蓋率不一。 如果您發現特定模式 (例如特定道路類型或特定區域經常行車車速),請採取下列步驟通知我們:
  1. 在電腦上開啟 Google 地圖「或」Google 地圖應用程式 Android 版。
  2. 開啟左側選單。
  3. 選取「提供意見」,注意:系統可能會提示您登入帳戶。
  4. 選取「編輯地圖」
  5. 選取要編輯的路段。
  6. 選取「繼續」。
  7. 在「其他」欄位中,表示該道路的速限有誤。
  8. 選取 [提交]。
您也可以在這裡回報其他問題 (例如道路名稱不正確、繪製有誤、道路封閉或私人)。
為什麼我的貼齊路徑不再偏離道路,卻偏離道路線條?
如要修正這個問題,請檢查下列項目:
  • 確認 interpolate 參數已設為 true
  • 檢查原始資料點的時間間隔是否相近 (每 1 至 10 秒)。
我發現道路的固定路段因路段沒有限製而未行駛,
interpolate 參數設為 true 時,貼齊道路查詢會傳回位於邊角、曲線和圓角周圍的折線。如果道路曲線為必要,則即使路徑速度沒有變更,系統仍會傳回多條路段,以建立與道路幾何圖形相近的折線。