處理錯誤

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

2D 圖塊和街景服務圖像

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

產品資訊時發生錯誤

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

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

您的 xyz 值超出範圍。

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

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

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

  • 對於「街景服務」圖塊,縮放等級必須介於 0 到 5 之間。

  • 在縮放等級 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 支援團隊聯絡。