Khắc phục sự cố

Lỗi

Trong trường hợp xảy ra lỗi, nội dung phản hồi lỗi định dạng chuẩn sẽ được trả về và mã trạng thái HTTP sẽ được đặt thành trạng thái lỗi.

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

  • code: Trạng thái này giống với trạng thái HTTP của phản hồi.
  • message: Mô tả ngắn về lỗi.
  • status: Mã trạng thái cho biết bản chất của lỗi.

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

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

Các lỗi có thể xảy ra bao gồm:

Trạng thái Thông điệp Khắc phục sự cố
400 INVALID_ARGUMENT Khoá bạn đã cung cấp không hợp lệ. Khoá API của bạn không hợp lệ hoặc không có trong yêu cầu. Hãy đảm bảo rằng bạn đã bao gồm toàn bộ khoá và đã bật API cho khoá này.
400 INVALID_ARGUMENT Tham số "\"path\" chứa một giá trị không hợp lệ: ☃" Yêu cầu của bạn chứa các đối số không hợp lệ. Những nguyên nhân có nhiều khả năng gây ra lỗi này nhất là:
  • Đã xảy ra sự cố với tham số path của bạn.
    Hãy đảm bảo rằng bạn có ít nhất 1 điểm và dưới 100 điểm. Mỗi điểm phải là một cặp số được phân tách bằng dấu phẩy, chẳng hạn như: 48.409114,-123.369158. Các điểm phải được phân tách bằng dấu gạch đứng: "|".
  • Yêu cầu của bạn có chứa placeId không hợp lệ.
  • Yêu cầu của bạn có cả placeIdpath. Bạn chỉ có thể chỉ định một trong các tham số này cho mỗi yêu cầu.

Lỗi này sẽ không được trả về nếu placeId được truyền cho một đường không còn tồn tại hoặc cho một địa điểm không phải là đường.

403 PERMISSION_DENIED Yêu cầu chưa đăng ký đã bị chặn. Vui lòng đăng ký qua Google Developers Console. Yêu cầu đó đã bị từ chối vì một hoặc nhiều lý do sau:
  • Khoá API bị thiếu hoặc không hợp lệ.
  • Bạn chưa bật tính năng thanh toán trên tài khoản của mình.
  • Đã vượt quá giới hạn mức sử dụng tự đặt.
  • Phương thức thanh toán bạn cung cấp không còn hợp lệ (ví dụ: thẻ tín dụng đã hết hạn).

Để sử dụng các sản phẩm trên Nền tảng Google Maps, bạn phải bật tính năng thanh toán trong tài khoản của mình và tất cả yêu cầu phải bao gồm một khoá API hợp lệ. Để khắc phục vấn đề này, hãy làm theo các bước sau:

404 NOT_FOUND HTTPS là bắt buộc cho dịch vụ này. Đảm bảo rằng bạn đang gửi yêu cầu đến https://roads.googleapis.com/ chứ không phải http://roads.googleapis.com/.
429 RESOURCE_EXHAUSTED Yêu cầu đã bị điều tiết do đã đạt đến giới hạn số lượng yêu cầu của dự án. Bạn đã vượt quá giới hạn yêu cầu mà bạn đã định cấu hình trong Bảng điều khiển Google Cloud Platform. Giới hạn này thường được đặt thành 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 trên mỗi người dùng. Bạn nên định cấu hình giới hạn này để ngăn một nhóm nhỏ người dùng làm hết hạn mức hằng ngày, trong khi vẫn cấp quyền truy cập hợp lý cho tất cả người dùng. Hãy xem bài viết Giới hạn mức sử dụng API để định cấu hình các giới hạn này.

Thuật toán thời gian đợi luỹ thừa

Khi yêu cầu không thành công, bạn nên đảm bảo rằng bạn thử lại yêu cầu bằng thuật toán thời gian đợi luỹ thừa. Ví dụ: nếu yêu cầu không thành công một lần, hãy thử lại sau một giây, nếu yêu cầu không thành công lần nữa, hãy thử lại sau 2 giây, sau đó là 4 giây, v.v. Điều này đảm bảo rằng các yêu cầu bị hỏng hoặc lỗi trên quy mô rộng không làm máy chủ của Google bị quá tải, vì nhiều ứng dụng cố gắng thử lại các yêu cầu rất nhanh.

Câu hỏi thường gặp về cách khắc phục sự cố

Vấn đề về hoạt động triển khai

Tôi nên lấy mẫu vị trí xe của mình với tần suất nào?
Bạn nên tiến hành ghi lại mỗi 1 đến 10 giây để có được kết quả nhanh chóng và chất lượng cao.
Có giới hạn nào về số điểm tôi có thể gửi cho mỗi truy vấn không?
Có, một truy vấn có thể có tối đa 100 điểm.
Tôi nên sử dụng mức độ chính xác nào để lưu trữ các cặp vĩ độ/kinh độ đã chụp được?
Để đảm bảo rằng các đường dẫn nhanh đi theo các con đường ở mọi mức thu phóng, ngay cả ở mức thu phóng tối đa, bạn nên lưu trữ các cặp vĩ độ/kinh độ được chụp nhanh ở 7 vị trí thập phân với độ chính xác cao.
Tôi có thể sử dụng hình nhiều đường được mã hoá để hiển thị đường dẫn được không?
Hình nhiều đường đã mã hoá chỉ được chỉ định với độ chính xác là 5 chữ số thập phân, nên sai số khoảng 2 mét. Do đó, hình nhiều đường được mã hoá không phù hợp nếu bạn muốn các đường dẫn được cố định đi theo đường ở mức thu phóng cao.

Các vấn đề thường gặp

Một số điểm không được chốt hoặc tôi có khoảng trống trên đường dẫn nhanh. Làm cách nào để khắc phục vấn đề này?
  • Nếu bạn lấy mẫu điểm tại các khoảng thời gian được tính giờ, hãy đảm bảo các điểm của bạn được lấy mẫu ở những khoảng thời gian ngắn hơn (1-10 giây một lần). Nếu sử dụng khoảng thời gian dài hơn (ví dụ: 60 giây), thì thuật toán bám theo đường có thể không xác định được những con đường được đi với đủ độ chính xác.
  • Nếu bạn tự nhấp vào bản đồ để tạo điểm, thì rất dễ tạo đường dẫn có ít điểm hoặc điểm thưa thớt mà thuật toán chụp nhanh không xử lý tốt. Thuật toán chụp nhanh hoạt động hiệu quả nhất đối với các điểm gần nhau. Hãy thử bản minh hoạ về tính năng Điều chỉnh theo đường đi hoặc sử dụng Công cụ kiểm tra đường đi để kiểm thử đường dẫn của bạn.
Tại sao các đường dẫn được chụp nhanh của tôi bị lởm chởm hoặc hơi lệch so với mặt đường khi tôi phóng to?
  • Bạn có đang cắt bớt độ chính xác của các cặp vĩ độ/kinh độ được chụp lại trước khi hiển thị chúng không? Việc lưu trữ các cặp vĩ độ/kinh độ được cố định với độ chính xác dưới 7 chữ số thập phân sẽ gây ra lỗi về độ chính xác khi đường đi được chụp nhanh hiển thị trên bản đồ.
  • Bạn có đang sử dụng hình nhiều đường được mã hoá không? Các hình nhiều đường được mã hoá cắt bớt các cặp vĩ độ/kinh độ thành 5 chữ số thập phân, điều này gây ra lỗi vài mét, dẫn đến các đường bị lệch hoặc lệch một chút so với đường ở mức thu phóng cao.

Nếu không có trường hợp nào ở trên, thì các thẻ thông tin bản đồ có thể đã được cập nhật gần đây, khiến các thẻ thông tin này không đồng bộ với chỉ mục đường được dùng để chụp nhanh. Nếu chỉ có một vài cụm từ tìm kiếm của bạn bị ảnh hưởng, thì đây có thể là nguyên nhân. Vì Google Maps được cập nhật thường xuyên, nên đôi khi điều này có thể xảy ra và có thể xảy ra thường xuyên hơn nếu bạn thường xuyên xem các đường dẫn cũ trên bản đồ (ví dụ: các đường dẫn đã bị chụp nhanh vài tuần trước). Để hình ảnh hoá tối ưu, bạn nên chụp lại các đường dẫn cũ ngay trước khi hiển thị chúng trên bản đồ, để giảm thiểu sự không nhất quán giữa các ô bản đồ và chỉ mục đường được dùng để chụp nhanh.

Điều gì có thể khiến giới hạn tốc độ cho đường X hiển thị không chính xác?
Giới hạn tốc độ xuất phát từ một số nguồn có mức độ chính xác và phạm vi khác nhau. Nếu bạn thấy một mẫu, chẳng hạn như giới hạn tốc độ cho một loại đường cụ thể hoặc trong một khu vực cụ thể luôn không chính xác, vui lòng làm theo các bước sau để thông báo cho chúng tôi:
  1. Mở Google Maps trên máy tính để bàn HOẶC ứng dụng Google Maps dành cho Android.
  2. Mở trình đơn bên trái.
  3. Chọn Gửi ý kiến phản hồi. Lưu ý: bạn có thể được nhắc đăng nhập.
  4. Chọn Chỉnh sửa bản đồ.
  5. Chọn đoạn đường bạn muốn chỉnh sửa.
  6. Chọn Tiếp theo.
  7. Trong trường "Khác", hãy biểu thị giới hạn tốc độ không chính xác đối với đường đó.
  8. Chọn Gửi.
Bạn cũng có thể báo cáo các vấn đề khác tại đây (ví dụ: tên đường không chính xác, được vẽ không chính xác, đã bị đóng hoặc tư nhân).
Tại sao đường đi gấp của tôi lại là những góc cắt thay vì đi theo đường chính?
Để khắc phục vấn đề này, hãy kiểm tra những việc sau:
  • Hãy đảm bảo bạn đặt tham số interpolate thành true.
  • Kiểm tra để đảm bảo rằng các điểm dữ liệu ban đầu được lấy mẫu ở khoảng thời gian đủ gần (1-10 giây một lần).
Tại sao tôi nhận được nhiều đoạn đường được trả về trong đường dẫn bị bám thủng đối với một con đường không có thay đổi về giới hạn tốc độ?
Khi tham số interpolate được đặt thành true, truy vấn bám theo đường sẽ trả về một hình nhiều đường đi theo con đường quanh các góc, đường cong và đường vòng. Nếu đường cong, nhiều đoạn đường sẽ được trả về ngay cả khi giới hạn tốc độ không thay đổi, để tạo một hình nhiều đường bám sát hình học của đường.