Khắc phục sự cố

Lỗi

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

Phản hồi này chứa một đối tượng có một đối tượng error duy nhất kèm 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 đưa vào yêu cầu. Hãy đảm bảo 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 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ó thể nhất gây ra lỗi này là:
  • Có vấn đề với tham số path của bạn.
    Vui lòng đảm bảo bạn có tối thiểu 1 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ó placeId không hợp lệ.
  • Yêu cầu của bạn bao gồm cả placeIdpath. Bạn chỉ có thể chỉ định một trong các thông số này cho mỗi yêu cầu.

Lỗi này sẽ không được trả về nếu bạn truyền placeId cho một con đườ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ý bằng Google Developers Console. Yêu cầu này đã bị từ chối vì một hoặc nhiều lý do sau đây:
  • 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 sử dụng tự đặt.
  • Phương thức thanh toá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 trên tài khoản của mình và tất cả yêu cầu phải bao gồm 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 Giao thức HTTPS là bắt buộc đối với 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ị hạn chế do đã đạt đến giới hạn yêu cầu của dự án. Bạn đã vượt quá hạn mức 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 dưới dạng số yêu cầu mỗi ngày, số yêu cầu trong 100 giây và số yêu cầu trong 100 giây đối với 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 hoặc một nhóm nhỏ người dùng sử dụng 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 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.

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 các yêu cầu bằng thuật toán thời gian đợi luỹ thừa. Ví dụ: nếu một 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 đó lại không thành công, hãy thử lại sau 2 giây, rồi thử lại sau 4 giây, v.v. Điều này giúp đảm bảo rằng các yêu cầu bị lỗi hoặc lỗi trên quy mô lớn sẽ không làm ngập máy chủ của Google, 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ề việc 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 chọn mỗi 1 đến 10 giây để có kết quả chụp nhanh đường chất lượng cao.
Có giới hạn nào về số điểm 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 độ chính xác nào để lưu trữ các cặp vĩ độ/kinh độ đã chụp nhanh?
Để đảm bảo đường dẫn nhanh sẽ đi theo đườ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 độ đã chụp nhanh tại 7 vị trí thập phân có độ chính xác.
Tôi có thể sử dụng hình nhiều đường được mã hoá để hiển thị đường dẫn nhanh không?
Các hình nhiều đường được mã hoá chỉ được chỉ định với độ chính xác là 5 chữ số thập phân, dẫn đến sai số khoảng 2 mét. Do đó, hình nhiều đường được mã hoá sẽ không phù hợp nếu bạn muốn các đường dẫn nhanh đ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ụp nhanh hoặc tôi có các khoảng trống trên đường dẫn nhanh. Làm cách nào để sửa lỗi này?
  • Nếu bạn đang lấy mẫu điểm tại các khoảng thời gian được tính giờ, hãy đảm bảo điểm của bạn được lấy mẫu ở các khoảng thời gian ngắn hơn (1-10 giây một lần). Nếu sử dụng một khoảng thời gian dài hơn (ví dụ 60 giây), thuật toán chụp nhanh có thể không thể xác định đường đi với độ chính xác đầy đủ.
  • Nếu bạn nhấp vào bản đồ theo cách thủ công để tạo điểm, thì bạn rất dễ tạo đường dẫn có vài điểm hoặc điểm thưa 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 dùng thử bản minh hoạ nhanh về đường đi hoặc sử dụng Công cụ kiểm tra đường để kiểm thử đường dẫn của bạn.
Tại sao các đường dẫn nhanh của tôi lởm chởm hoặc hơi lệch so với đường khi tôi phóng to?
  • Bạn có cắt bớt độ chính xác của các cặp vĩ độ/kinh độ được chụp nhanh trước khi hiển thị chúng không? Việc lưu trữ các cặp vĩ độ/kinh độ được chụp nhanh ở độ 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 dẫn đã chụp được 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á sẽ cắt bớt các cặp vĩ độ/kinh độ xuống còn 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 răng cưa hoặc lệch một chút so với đường ở mức thu phóng cao.

Nếu cả hai trường hợp trên đều không xảy ra, thì có thể các ô bản đồ đã được cập nhật gần đây, khiến chúng không đồng bộ với chỉ mục đường dùng để chụp nhanh. Nếu chỉ một vài cụm từ tìm kiếm của bạn bị ảnh hưởng thì có khả năng là nguyên nhân. Vì Google Maps được cập nhật thường xuyên, nên điều này đôi khi 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 được chụp từ 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ị trên bản đồ, để giảm thiểu sự không thống nhất 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 độ trên đường X hiển thị không chính xác?
Giới hạn tốc độ đến từ một số nguồn có độ chính xác và phạm vi bao phủ khác nhau. Nếu bạn thấy một mẫu (ví dụ: giới hạn tốc độ cho một loại đường cụ thể hoặc tại một khu vực cụ thể) liên tục không chính xác, vui lòng làm theo các bước sau để cho chúng tôi biết:
  1. Mở Google Maps trên máy tính 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 cho biết giới hạn tốc độ cho đường đó là không chính xác.
  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ụ: đường có tên không chính xác, được vẽ không chính xác, bị đóng hoặc đường tư nhân).
Tại sao đường bị cắt của tôi lại bị cắt góc thay vì đi theo đường?
Để khắc phục vấn đề này, hãy kiểm tra những việc sau:
  • Nhớ đặt tham số interpolate thành true.
  • Kiểm tra để đảm bảo rằng các điểm dữ liệu gốc của bạn được lấy mẫu tại các 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 ngắn của 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 chụp nhanh sẽ trả về một hình nhiều đường đi theo con đường xung 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 ra một hình nhiều đường bám sát hình dạng đường.