處理錯誤

提出要求後,您可能會收到包含錯誤詳細資料的回應。

2D 圖塊和街景服務圖像

以下詳細說明使用 2D 圖塊和街景服務圖像時可能發生的錯誤。

列出錯誤

以下清單詳細說明使用 Map Tiles API 時可能會遇到的錯誤。

required
您的要求缺少網址參數。請注意,錯誤訊息會指出缺少哪個參數。
notFoundinvalid

您的 xyz 值超出範圍。

  • 如果是一般地圖圖塊,最高縮放等級則取決於特定地圖圖塊,以及您要求的地圖選項。

  • 如果是一般地圖圖塊,x 座標必須位於 [0, (2^zoom)-1] 的範圍。

  • 如果是一般地圖圖塊,y 座標必須位於 [0, (2^(zoom-1))-1] 的範圍。

  • 街景服務圖塊的縮放值必須介於 0 到 5 (含) 之間。

  • 街景服務圖塊的 x 和 y 座標範圍與一般地圖圖塊相同,直到第五級縮放為止。屆時,最大值是 imageHeightimagewidth,除以 tileHeighttileWidth

forbidden:要求缺少有效的 API 金鑰。

expired
你的 session 權杖已過期。工作階段符記在建立後的兩週內有效。請注意,這項變更可能在未通知的情況下隨時變更。如果收到這個錯誤,就必須取得新的工作階段符記,如「使用工作階段符記」一文所述。
badRequest

您的要求格式錯誤。常見原因包括:

  • 您指定了 terrain 地圖類型,不含 roadmap 圖層。

  • 您針對非道路地圖地圖類型加入了 styles 陣列。

  • 您傳送了 lat/lng 值以及街景服務中繼資料要求中的全景 ID。

quotaExceededrateLimitExceeded

應用程式超過允許的配額,或是超過每秒查詢次數限制。

錯誤示例

{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "errors": [
      {
        "message": "The request is missing a valid API key.",
        "domain": "global",
        "reason": "forbidden"
      }
    ],
    "status": "PERMISSION_DENIED"
  }
}

重試要求

當要求因 quotaExceededrateLimitExceeded 而失敗時,建議您重試要求,例如,無效要求或大規模失敗不會發生 Goodle 伺服器,因為許多用戶端會嘗試快速重試要求。這表示在重試要求時,請使用指數輪詢。指數輪詢會強制您及時分散要求,讓伺服器有時間復原。

舉例來說,如果要求失敗,請在一秒後再試一次。不過,如果此嘗試也失敗,請在兩秒後重試要求。如果該要求也失敗,請在四秒後再試一次。因此,只要將每項連續要求的時間長度加倍,就能有效分散要求。

3D 圖塊

您可以透過轉譯器 (負責處理伺服器錯誤) 存取擬真圖塊,因此看不見 Google 伺服器發生的錯誤。

圖塊轉譯器錯誤

舉例來說,在伺服器錯誤發生時,CesiumJS 轉譯器通常會自動失敗,這可能會導致當機、空白畫面,甚至是未載入特定圖塊等任何原因。

用來偵錯伺服器錯誤的技術,會因您使用的特定轉譯器而異。針對 CesiumJS 等瀏覽器式轉譯器,您可以使用大多數瀏覽器內建的工具檢查網路流量。舉例來說,您可以使用 Chrome 開發人員工具

常見錯誤

以下清單詳細說明您可能遇到的常見錯誤。

400:引數無效
API 金鑰、查詢參數、資訊方塊/圖塊 ID 或已過期的工作階段符記。
403:權限遭拒
缺少 API 金鑰、缺少 SSL 連線,或是您的 API 金鑰尚未加入 3D 資訊方塊的許可清單。請聯絡 Google 支援團隊並提供專案 ID,以加入 Map Tiles API 3D 圖塊功能的許可清單。
429:要求過多
您的配額已用盡。如要提高配額,請與 Google 支援團隊聯絡。