疑難排解

錯誤

如果發生錯誤,系統會傳回標準格式錯誤回應主體,並將 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」參數含有無效的值:☃" 您的要求中包含無效的引數。這個錯誤最有可能的原因如下:
  • 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 用量」一節。

指數輪詢

如果要求失敗,請確保以指數輪詢方式重試要求。舉例來說,如果要求失敗一次,請於幾秒後重試,如果失敗,則在兩秒後重試,然後四秒,依此類推。這可以確保無效的要求或大規模的擴充問題不會讓 Google 的伺服器承受大量威脅,因為許多用戶端會盡快重試要求。

疑難排解常見問題

導入問題

我應該以哪個頻率取樣車輛位置資訊?
建議每 1 到 10 秒傳送一次,即可獲得快速的行車路線。
每項查詢可以傳送的點數有數量限制嗎?
可以,每個查詢最多只能有 100 點。
我應該使用哪個精確度級別來儲存已對齊的經緯度組合?
為確保貼齊路徑在所有縮放等級中都會遵循道路,即使在最高縮放等級下,仍請將貼齊的經緯度組合儲存在精確度為 7 位小數。
我可以使用編碼的折線顯示貼齊路徑嗎?
編碼折線的精確度只能指定至小數點後 5 位,因此會導致約 2 公尺的誤差。因此,如果您希望貼齊的折線在高縮放等級中遵循道路,則不適合使用編碼折線。

常見問題

有些點沒有對齊,或者我在緊湊的路徑上出現缺口。該如何修正這個問題?
  • 如果您要以固定時間間隔取樣資料點,請確保系統以較短的間隔進行取樣 (每 1 至 10 秒一次)。如果使用的間隔時間較長 (例如 60 秒),則對齊道路的演算法可能無法正確判斷行經的道路是否準確。
  • 如要手動點選地圖來建立點,很容易建立含有少數點或稀疏點的路徑,導致貼齊演算法無法順利處理。貼齊演算法最適合搭配相近的點使用。請嘗試貼齊道路試用版或使用道路檢查器來測試路徑。
放大地圖時,為什麼有條路上的路徑有鋸齒狀或偏離道路?
  • 您是否在顯示之前,截斷已對齊經緯度組合的精確度?如果將貼齊的緯度/經度組合儲存在小數點後的精確度低於 7 個,當地圖顯示插入的路徑時,會導致精確度錯誤。
  • 您是否使用編碼折線?編碼的折線會將緯度/經度配對截斷成小數點後 5 位,導致數個公尺的錯誤,導致在高縮放等級下,線條出現鋸齒狀或稍微偏離道路。

如果以上兩種情況皆非,表示地圖圖塊可能最近才更新,導致這些圖塊與拖曳使用的道路索引不同步。如果只有少數查詢受到影響,很可能是這種情況。由於 Google 地圖會定期更新,因此這種情況偶爾會發生,而如果您經常查看地圖上的舊路徑 (例如數週前拍攝的路徑),這種情況可能會更頻繁。為獲得最佳的視覺化效果,建議先重新消除舊路徑,然後才在地圖上顯示這些路徑,以便盡可能減少地圖圖塊與用於拖曳的道路索引之間的不一致。

為什麼 X 道路的速限資訊無法正確顯示?
速限資訊來自數個準確度和涵蓋率各異的因素。如果您發現某種模式,例如特定道路類型或特定區域的速限限制持續有誤,請按照下列步驟操作:
  1. 在電腦上開啟 Google 地圖,或開啟 Android 版 Google 地圖應用程式。
  2. 開啟左側選單。
  3. 選取「提供意見」。注意:系統可能會提示您登入。
  4. 選取「編輯地圖」
  5. 選取你要編輯的路段。
  6. 選取「繼續」。
  7. 在「其他」欄位中,註明該道路的速限有誤。
  8. 選取 [提交]。
你也可以在這裡回報其他問題 (例如道路的名稱不正確、繪製有誤、封閉或私人)。
為什麼我快要走的道路,而不是跟隨道路行駛?
如要修正這個問題,請檢查下列事項:
  • 請確認 interpolate 參數已設為 true
  • 檢查原始資料點的取樣時間間隔 (每 1 至 10 秒) 是否足夠。
為甚麼在沒有速限變更的道路拼湊路徑中,收到許多路段傳回?
interpolate 參數設為 true 時,對齊到道路的查詢會傳回折線,其中包含邊角、曲線和圓環的道路。為了建立緊跟道路幾何圖形的折線,即使速限沒有改變,系統還是會傳回多個路段。