處理錯誤

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

2D 圖塊和街景服務圖像

以下清單詳細說明您在使用 2D 圖塊和街景服務圖像時,可能會遇到的錯誤。

錯誤清單

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

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

您的 xyz 值超出範圍。

  • 對於一般地圖圖塊,最大縮放等級取決於特定地圖圖塊,以及您要求的地圖選項。

  • 對於一般地圖圖塊,x 座標必須在 [0, (2^zoom)-1] 的範圍內。

  • 對於一般地圖圖塊,y 座標必須在 [0, (2^(zoom-1))-1] 的範圍內。

  • 對於街景圖塊,縮放等級必須介於零和五之間 (含首尾)。

  • 在縮放等級 5 之前,街景服務圖塊的 x 和 y 座標範圍與一般地圖圖塊相同。此時,最大值是 imageHeightimagewidth 除以 tileHeighttileWidth

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

expired
您的 session 權杖已過期。工作階段權杖的有效期限為建立時間後的兩週。請注意,這項資訊可能會在未事先通知的情況下變更。如果您收到這則錯誤訊息,就必須取得新的工作階段權杖,如「使用工作階段權杖」一文所述。
badRequest

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

  • 您指定了 terrain 地圖類型,但未加入 roadmap 圖層。

  • 您為非路線圖型式加入 styles 陣列。

  • 您在街景服務中繼資料要求中傳送了緯/經度值和全景 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 失敗時,您應重試要求,以免因許多用戶端嘗試快速重試要求,導致失敗要求或大規模失敗情況淹沒 Google 伺服器。也就是說,請在重試要求時使用指數輪詢。指數輪詢會強制您在適當時間分散要求,讓伺服器有時間復原。

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

3D 圖塊

您透過轉譯器存取逼真的圖塊,而轉譯器負責處理伺服器錯誤,因此您可能不會發現 Google 伺服器的錯誤。

圖塊轉譯器錯誤

舉例來說,當伺服器發生錯誤時,CesiumJS 轉譯器通常會靜默失敗,導致發生任何錯誤,從當機、畫面空白到特定圖塊無法載入。

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

常見錯誤

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

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