Khắc phục sự cố

Sau đây là một số mẹo khắc phục các vấn đề thường gặp.

Tại sao bán kính chính xác lại rất lớn?

Nếu phản hồi của dịch vụ Định vị địa lý cho thấy giá trị rất cao trong trường độ chính xác, thì dịch vụ có thể đang định vị địa lý dựa trên IP của yêu cầu, thay vì điểm phát sóng Wi-Fi hoặc trạm phát sóng. Những loại phản hồi này có thể xảy ra nếu dịch vụ không nhận ra bất kỳ trạm phát sóng hoặc điểm truy cập nào.

Để xác nhận rằng dịch vụ không thể xác định vị trí địa lý của các điểm truy cập, hãy đặt considerIp thành false trong yêu cầu của bạn. Nếu phản hồi là 404, tức là bạn đã xác nhận rằng không thể xác định vị trí địa lý của các đối tượng wifiAccessPoints và cellTowers.

Làm cách nào để khắc phục lỗi phản hồi?

Nếu yêu cầu của bạn tạo ra lỗi, hệ thống sẽ trả về nội dung phản hồi lỗi theo định dạng chuẩn và đặt mã trạng thái HTTP thành trạng thái lỗi.

Phản hồi lỗi chứa một đối tượng có một đối tượng lỗi duy nhất với các khoá sau:

  • code: Mã này giống với trạng thái HTTP của phản hồi.
  • message: Nội dung mô tả ngắn gọn về lỗi.
  • errors: Danh sách lỗi đã xảy ra. Mỗi lỗi chứa một giá trị nhận dạng cho loại lỗi (lý do) và một nội dung mô tả ngắn (thông báo).

Ví dụ: việc gửi JSON không hợp lệ sẽ trả về lỗi sau:

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

Thu thập thông tin thử nghiệm từ các thiết bị

Để thử nghiệm thêm, bạn có thể thu thập thông tin từ thiết bị của mình bằng cách sử dụng các dịch vụ vị trí tích hợp sẵn do từng nền tảng cung cấp:

Nội dung mô tả về lỗi

Dưới đây là các lỗi bạn có thể gặp phải kèm theo nội dung mô tả.

Lý do Miền Mã trạng thái HTTP Mô tả
dailyLimitExceeded usageLimits 403 Bạn đã vượt quá giới hạn hằng ngày.
keyInvalid usageLimits 400 Khoá API của bạn không hợp lệ cho Geolocation API. Hãy nhớ thêm toàn bộ khoá và đảm bảo rằng bạn đã mua API hoặc đã bật tính năng thanh toán và kích hoạt API để nhận hạn mức không mất phí.
userRateLimitExceeded usageLimits 403 Bạn đã vượt quá hạn mức yêu cầu mà bạn định cấu hình trong Google Cloud Console. Giới hạn này thường được đặt là số yêu cầu mỗi ngày, số yêu cầu mỗi 100 giây và số yêu cầu mỗi 100 giây cho mỗi người dùng. Bạn nên định cấu hình hạn mức để ngăn một người dùng hoặc một nhóm nhỏ người dùng sử dụng hết hạn mức hằng ngày của bạn, trong khi vẫn cho phép tất cả người dùng truy cập hợp lý. Hãy xem phần Giới hạn mức sử dụng API để định cấu hình các giới hạn này.
notFound geolocation 404 Yêu cầu hợp lệ nhưng không có kết quả nào được trả về.
parseError global 400 Nội dung yêu cầu không phải là JSON hợp lệ. Tham khảo phần Nội dung yêu cầu để biết thông tin chi tiết về từng trường.