Lựa chọn ưu tiên về lưu lượng truy cập mà bạn chọn sẽ cân bằng độ chính xác của thông tin chi tiết về tuyến đường với hiệu suất yêu cầu theo một trong hai cách:
Nhận biết lưu lượng truy cập – Trả về kết quả chính xác nhất có thể (độ trễ cao hơn).
Không nhận biết lưu lượng truy cập – Trả về kết quả nhanh nhất có thể (độ trễ thấp nhất).
Khi bạn đưa ra yêu cầu, hãy cân nhắc xem nên trả về kết quả chính xác nhất có thể hay trả về kết quả nhanh nhất có thể. Routes API cung cấp các lựa chọn cho phép bạn kiểm soát chất lượng của dữ liệu phản hồi so với độ trễ của phản hồi.
Cách đặt mức lưu lượng truy cập
Routes API cung cấp RoutingPreference (REST) và RoutingPreference (gRPC) cho phép bạn chỉ định lựa chọn ưu tiên về tuyến đường để tính toán tuyến đường.
Theo mặc định, kết quả sẽ không tính đến tình hình giao thông. Bạn chọn các lựa chọn về lưu lượng truy cập bằng các lựa chọn ưu tiên về định tuyến TRAFFIC_UNAWARE, TRAFFIC_AWARE và TRAFFIC_AWARE_OPTIMAL. Mỗi lựa chọn ưu tiên về tuyến đường sẽ cho ra kết quả khác nhau về chất lượng tuyến đường, thời gian đến dự kiến và độ trễ phản hồi.
Tình trạng giao thông
Tình trạng giao thông thể hiện tốc độ của luồng giao thông:
Giao thông bình thường: Không tắc nghẽn, giao thông di chuyển với tốc độ bình thường.
Mật độ giao thông thấp đến trung bình: Tình trạng tắc nghẽn ngày càng tăng, các phương tiện di chuyển với tốc độ chậm.
Giao thông đông đúc: Tắc nghẽn nghiêm trọng, tốc độ giao thông giảm mạnh.
Không biết về lưu lượng truy cập
TRAFFIC_UNAWARE là chế độ cài đặt mặc định. Hãy sử dụng lựa chọn ưu tiên về tuyến đường này khi bạn muốn nhận được thông tin phản hồi nhanh nhất và thông tin chi tiết về tuyến đường gần đúng là đủ.
TRAFFIC_UNAWARE tuyến đường được tính toán mà không tính đến tình trạng giao thông hiện tại. Lựa chọn ưu tiên về định tuyến này giúp phản hồi yêu cầu nhanh nhất (độ trễ thấp nhất).
Nếu bạn chọn TRAFFIC_UNAWARE,
tuyến đường và thời gian được chọn sẽ dựa trên mạng lưới đường bộ và tình trạng giao thông trung bình không phụ thuộc vào thời gian, chứ không phải tình trạng đường hiện tại. Do đó, các tuyến đường có thể bao gồm cả những đường tạm thời bị đóng. Kết quả cho một yêu cầu nhất định có thể thay đổi theo thời gian do những thay đổi trong mạng lưới đường, tình trạng giao thông trung bình được cập nhật và tính chất phân tán của dịch vụ. Kết quả cũng có thể khác nhau giữa các tuyến đường gần như tương đương vào bất kỳ thời điểm hoặc tần suất nào.
Sau đây là các câu trả lời mà bạn sẽ thấy:
duration– Chứa thời gian đến dự kiến cho tuyến đường.staticDuration: Thời gian đến dự kiến cho tuyến đường chỉ dựa trên thông tin về tình hình giao thông trước đây. Đối vớiTRAFFIC_UNAWARE, giá trị này giống vớiduration.
Nhận biết lưu lượng truy cập
Hãy sử dụng lựa chọn ưu tiên về tuyến đường này khi bạn muốn có thông tin chi tiết chính xác hơn về tuyến đường so với TRAFFIC_UNAWARE, nhưng bạn không bận tâm nếu phản hồi được trả về với độ trễ tăng vừa phải.
Khi bạn đặt lựa chọn ưu tiên về tuyến đường TRAFFIC_AWARE, dịch vụ sẽ tính toán tuyến đường dựa trên tình trạng giao thông hiện tại. Nhờ đó, tuyến đường và thông tin chi tiết về tuyến đường sẽ phản ánh chính xác hơn tình hình thực tế. Vì việc tăng chất lượng dữ liệu này sẽ làm tăng độ trễ phản hồi, nên các biện pháp tối ưu hoá hiệu suất được áp dụng để giảm phần lớn độ trễ.
Sau đây là các câu trả lời mà bạn sẽ thấy:
duration: Thời gian đến dự kiến dựa trên thông tin giao thông theo thời gian thực.staticDurationThời gian đến dự kiến cho tuyến đường chỉ xem xét thông tin về tình hình giao thông trước đây.
Tối ưu hoá dựa trên tình hình giao thông
Hãy sử dụng lựa chọn ưu tiên về định tuyến này khi bạn muốn có kết quả chất lượng cao nhất mà không cần quan tâm đến thời gian phản hồi. Lựa chọn ưu tiên về định tuyến này có độ trễ lâu nhất trong việc trả về phản hồi (độ trễ cao nhất).
Khi bạn đặt lựa chọn ưu tiên về tuyến đường TRAFFIC_AWARE_OPTIMAL, dịch vụ sẽ tính toán tuyến đường dựa trên tình trạng giao thông hiện tại, nhưng không áp dụng các tính năng tối ưu hoá hiệu suất. Ở chế độ này, máy chủ sẽ thực hiện tìm kiếm toàn diện hơn
trên mạng lưới đường để tìm tuyến đường tối ưu.
Lựa chọn ưu tiên về tuyến đường TRAFFIC_AWARE_OPTIMAL tương đương với chế độ mà maps.google.com và ứng dụng Google Maps dành cho thiết bị di động sử dụng.
Khi bạn sử dụng tuỳ chọn này với Compute Route Matrix, số lượng phần tử trong một yêu cầu (số điểm xuất phát × số điểm đến) sẽ bị giới hạn. Để biết thêm thông tin về các giới hạn của Compute Route Matrix, hãy xem bài viết Tính toán ma trận tuyến đường.
Sau đây là các câu trả lời mà bạn sẽ thấy:
duration: Thời gian đến dự kiến cho tuyến đường, có tính đến thông tin giao thông theo thời gian thực.staticDuration: Thời gian đến dự kiến cho tuyến đường chỉ dựa trên thông tin về tình hình giao thông trước đây.
Đặt giờ khởi hành (không bắt buộc)
Chỉ sử dụng thuộc tính này cho các yêu cầu nhận biết lưu lượng truy cập, trong đó thời gian khởi hành cần phải là thời gian trong tương lai. Nếu bạn không đặt thuộc tính departureTime, thì thuộc tính này sẽ mặc định là thời gian bạn đưa ra yêu cầu.
Sử dụng thuộc tính departureTime cùng với các tuỳ chọn TRAFFIC_AWARE và TRAFFIC_AWARE_OPTIMAL khi bạn muốn điều chỉnh cách dịch vụ dự đoán lưu lượng truy cập khi chọn tuyến đường.
TRAFFIC_UNAWARE: Không nên dùng vì lựa chọn tuyến đường và thời gian dựa trên mạng lưới đường bộ và tình trạng giao thông trung bình không phụ thuộc vào thời gian.TRAFFIC_AWAREvàTRAFFIC_AWARE_OPTIMAL: Nên dùng cho các chuyến khởi hành sắp diễn ra vì các lựa chọn ưu tiên này có tính đến tình trạng giao thông trực tiếp. Lưu lượng truy cập trực tiếp càng gầndepartureTimethì càng quan trọng và phù hợp. Bạn đặt thời gian khởi hành càng xa trong tương lai, thì hệ thống càng cân nhắc nhiều đến tình trạng giao thông trước đây khi chọn tuyến đường.
Ví dụ: Cách chọn tuyến đường dựa trên thông tin giao thông
Mã JSON sau đây minh hoạ cách đặt lựa chọn ưu tiên về tuyến đường TRAFFIC_AWARE_OPTIMAL trong phần nội dung của thực thể thông báo yêu cầu.
{ "origin":{ "location":{ "latLng":{ "latitude":37.419734, "longitude":-122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude":37.417670, "longitude":-122.079595 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL" }