Lỗi
Trong trường hợp xảy ra lỗi, nội dung phản hồi lỗi ở định dạng tiêu 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
: Giá trị 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 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 một 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:
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. Vui lòng đảm bảo rằng bạn đã thê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ệ. Sau đây là những nguyên nhân có thể gây ra lỗi này:
Lỗi này sẽ không được trả về nếu |
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 bị từ chối vì một hoặc nhiều lý do sau:
Để sử dụng các sản phẩm của Google Maps Platform, 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ả các yêu cầu phải có 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 |
Dịch vụ này yêu cầu HTTPS. | Đả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 chỉnh 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 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 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 của bạn, đồng thời vẫn cho phép tất cả người dùng truy cập một cách 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. |
Thuật toán thời gian đợi luỹ thừa
Khi yêu cầu không thành công, bạn phải đả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 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 không thành công lần nữa, hãy thử lại sau hai giây, sau đó là bốn 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 diện rộng không làm tràn 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ề cách khắc phục sự cố
Vấn đề về việc triển khai
- Tôi nên lấy mẫu vị trí xe với tần suất nào?
- Bạn nên chọn khoảng thời gian từ 1 đến 10 giây để có kết quả khớp với đường chất lượng cao.
- Có giới hạn về số lượng điểm tôi có thể gửi cho mỗi câu hỏi 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 độ được chụp nhanh?
- Để đảm bảo rằng các đường dẫn được điều chỉnh theo đường đi ở 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 điều chỉnh theo đường đi ở độ chính xác 7 chữ số thập phân.
- Tôi có thể sử dụng nhiều đường thẳng được mã hoá để hiển thị các đường dẫn được điều chỉnh không?
- Đường nhiều đoạn đượ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 đó, các đường nhiều đoạn được mã hoá không phù hợp nếu bạn muốn các đường được điều chỉnh theo đường đi trên đường ở mức thu phóng cao.
Các vấn đề thường gặp
- Một số điểm không được gắn vào hoặc tôi có các khoảng trống trong đường dẫn được gắn vào. Làm cách nào để tôi sửa lỗi này?
-
- Nếu bạn đang lấy mẫu các điểm theo khoảng thời gian, hãy đảm bảo rằng các điểm được lấy mẫu theo khoảng thời gian ngắn hơn (mỗi 1-10 giây). Nếu bạn sử dụng khoảng thời gian dài hơn (ví dụ: 60 giây), thì thuật toán khớp với đường có thể không xác định được các con đường đã đi với độ chính xác cao.
- Nếu bạn đang 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ó ít điểm hoặc điểm thưa thớt mà thuật toán gắn kết không xử lý tốt. Thuật toán bắt điểm 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ạ tính năng Căn chỉnh theo đường hoặc sử dụng trình kiểm tra Đường để kiểm thử các đường dẫn.
- Tại sao các đường được gắn của tôi lại gồ ghề hoặc hơi lệch so với đườ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 điều chỉnh trước khi hiển thị không? Việc lưu trữ các cặp vĩ độ/kinh độ được điều chỉ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 dẫn được điều chỉnh xuất hiện trên bản đồ.
- Bạn có đang sử dụng đường nhiều đoạn được mã hoá không? Đường nhiều đoạn được mã hoá sẽ 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 sai số vài mét, dẫn đến các đường bị gập ghềnh hoặc hơi lệch so với đường ở mức thu phóng cao.
Nếu không phải cả hai trường hợp trên, thì có thể các ô bản đồ đã được cập nhật gần đây, khiến chúng không đồng bộ hoá với chỉ mục đường được dùng để gắn kết. Nếu chỉ 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 được chụp cách đây vài tuần). Để có hình ảnh trực quan tối ưu, bạn nên chụp lại các đường cũ ngay trước khi hiển thị chúng trên bản đồ, nhằm 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 độ của đường X hiển thị không chính xác?
- Giới hạn tốc độ được lấy từ nhiều nguồn, có độ chính xác và phạm vi khác nhau.
Nếu bạn phát hiện thấy một quy luật, chẳng hạn như giới hạn tốc độ cho một loại đường cụ thể hoặc ở 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 để cho chúng tôi biết:
- Mở Google Maps trên máy tính hoặc ứng dụng Google Maps dành cho Android.
- Mở trình đơn bên trái.
- Chọn Gửi ý kiến phản hồi. Lưu ý: bạn có thể được nhắc đăng nhập.
- Chọn Chỉnh sửa bản đồ.
- Chọn đoạn đường mà bạn muốn chỉnh sửa.
- Chọn Tiếp theo.
- Trong trường "Khác", hãy cho biết giới hạn tốc độ không chính xác cho đường đó.
- Chọn Gửi.
- Tại sao đường dẫn được ghim của tôi lại cắt ngang thay vì đi theo đường?
-
Để khắc phục vấn đề này, hãy kiểm tra những điều sau:
- Đảm bảo bạn đã đặt tham số
interpolate
thànhtrue
. - Kiểm tra để đảm bảo rằng các điểm dữ liệu ban đầu của bạn được lấy mẫu ở khoảng thời gian đủ gần (mỗi 1 đến 10 giây).
- Đảm bảo bạn đã đặt tham số
- Tại sao tôi nhận được nhiều đoạn đường trong đường dẫn được điều chỉnh cho phù hợp 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ànhtrue
, truy vấn căn chỉnh theo đường sẽ trả về một đường nhiều đường đi theo đường xung quanh các góc, đường cong và vòng xuyến. 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 đường nhiều đoạn theo sát hình học của đường.