疑難排解

以下是排解常見問題的一些提示。

為什麼準確度半徑範圍非常大?

如果您的地理位置回應在精確度欄位中顯示非常高的值,服務可能會根據要求 IP 進行地理位置分配,而非根據 Wi-Fi 點或行動通信基地台。如果服務無法識別任何行動通信基地台或存取點,就會發生這類回應。

如要確認服務無法定位您的存取點,請在要求中將 considerIp 設為 false。如果回應是 404,表示您已確認 wifiAccessPoints 和 CellTowers 物件無法進行地理位置定位。

如何排解回應錯誤?

如果您的要求產生錯誤,系統會傳回標準格式錯誤回應主體,並將 HTTP 狀態碼設為錯誤狀態。

錯誤回應包含一個物件,該物件包含一個錯誤物件,該物件包含下列索引鍵:

  • code:與回應的 HTTP 狀態相同。
  • message:錯誤的簡短說明。
  • errors:發生的錯誤清單。每項錯誤都會包含錯誤類型 (原因) 的 ID 和簡短說明 (訊息)。

例如,傳送無效的 JSON 會傳回下列錯誤:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error",
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

從裝置收集測試資訊

如要進行額外測試,您可以使用下列 SDK 和 API 從裝置中收集資訊:

錯誤說明

以下是您可能遇到的說明錯誤。

原因 網域 HTTP 狀態碼 說明
dailyLimitExceeded usageLimits 403 您已超過每日上限
keyInvalid usageLimits 400 您的 API 金鑰不適用於 Geolocation API。請確認您已加入整個金鑰,且您已購買 API 或啟用計費功能並啟用 API,才能免費取得配額。
userRateLimitExceeded usageLimits 403 您在 Google Cloud 控制台中設定的要求數量已超過上限。 此限制通常設為每日要求數、每 100 秒的要求數,以及每位使用者每 100 秒的要求數。建議您設定上限,以免一或少數使用者用完每日配額,同時仍讓所有使用者合理存取。如要設定這些限制,請參閱「限制 API 用量」一文。
notFound geolocation 404 要求有效,但未傳回任何結果。
parseError global 400 要求主體不是有效的 JSON。如要進一步瞭解每個欄位,請參閱要求主體一節。