Chỉ định cách thức và liệu có nên bao gồm dữ liệu lưu lượng truy cập hay không

Các 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 giữa độ chính xác của thông tin tuyến đường với hiệu suất của yêu cầu. Khi đưa ra yêu cầu, bạn nên 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ể. API Tuyến cung cấp các tuỳ 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.

Đặt mức dữ liệu lưu lượng truy cập

API Tuyến cung cấp RoutingPreference (REST) và RoutingPreference (gRPC) cho phép bạn chỉ định các lựa chọn ưu tiên về định tuyến để tính toán các tuyến. Các lựa chọn ưu tiên này khác nhau ở mức độ mà chúng tính đến điều kiện lưu lượng truy cập khi tính toán tuyến đường. Mỗi lựa chọn ưu tiên định tuyến sẽ tạo ra các kết quả khác nhau ở một mức độ liên quan đến chất lượng tuyến đường, giờ đến dự kiến ước tính và độ trễ phản hồi.

Tình trạng giao thông đặc trưng cho tốc độ lưu lượng giao thông. Ví dụ:

  • Khi không có tắc nghẽn, tình trạng giao thông được coi là bình thường và các luồng giao thông lưu chuyển ở tốc độ bình thường không bị cản trở.
  • Khi gần đến giờ cao điểm, mật độ lưu lượng truy cập tăng lên, khiến lưu lượng truy cập chậm lại, tạo ra tình trạng giao thông từ nhẹ đến trung bình.
  • Trong lưu lượng truy cập từ đoạn quảng cáo đệm đến đoạn quảng cáo đệm, tốc độ lưu lượng truy cập sẽ ngừng lại, gây ra tình trạng giao thông đông đúc.

Không nhận biết được lưu lượng truy cập

Khi bạn đặt lựa chọn ưu tiên về định tuyến TRAFFIC_UNAWARE, các tuyến đường sẽ đượ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 định tuyến này cung cấp độ trễ phản hồi thấp nhất (phản hồi được trả về nhanh nhất).

TRAFFIC_UNAWARE là chế độ cài đặt mặc định.

Trong câu trả lời:

  • ETA có trong thuộc tính phản hồi duration.

  • Các thuộc tính phản hồi durationstaticDuration chứa cùng một giá trị.

Hãy sử dụng lựa chọn ưu tiên định tuyến này khi bạn muốn phản hồi được trả về nhanh nhất và thông tin định tuyến ước chừng là đủ.

Nhận biết lưu lượng truy cập

Khi bạn đặt lựa chọn ưu tiên về định tuyến TRAFFIC_AWARE, các tuyến đường sẽ được tính toán theo điều kiện giao thông hiện tại. Do đó, tuyến đường và các chi tiết về tuyến đường phản ánh chính xác hơn các điều kiện thực tế. Vì sự gia tăng này về chất lượng dữ liệu sẽ đánh đổi bằng độ trễ phản hồi, nên tính năng tối ưu hoá hiệu suất sẽ được áp dụng để giảm nhiều độ trễ.

Trong câu trả lời:

  • ETA có xem xét lưu lượng truy cập theo thời gian thực nằm trong thuộc tính phản hồi duration.

  • Thuộc tính phản hồi staticDuration chứa thời gian di chuyển qua tuyến đường mà không tính đến tình trạng 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ó thông tin định tuyến chính xác hơn TRAFFIC_UNAWARE, nhưng lại không bận tâm nếu các phản hồi được trả về với độ trễ tăng vừa phải.

Tối ưu hoá khả năng nhận biết lưu lượng truy cập

Khi bạn đặt lựa chọn ưu tiên về định tuyến TRAFFIC_AWARE_OPTIMAL, các tuyến đường sẽ được tính toán theo điều kiện giao thông hiện tại, nhưng không áp dụng tính năng tối ưu hoá hiệu suất nào. Ở chế độ này, máy chủ sẽ tìm kiếm toàn bộ mạng lưới đường bộ để tìm tuyến đường tối ưu.

Tuỳ chọn định tuyến TRAFFIC_AWARE_OPTIMAL tương đương với chế độ được maps.google.com và ứng dụng Google Maps sử dụng cho thiết bị di động.

Khi sử dụng tuỳ chọn này với Ma trận tuyến tính toán, số lượng phần tử trong một yêu cầu (số nguồn gốc × số lượng đích đến) không được vượt quá 100. Để biết thêm thông tin về giới hạn của ma trận tuyến tính, hãy xem bài viết Tính toán ma trận tuyến.

Trong câu trả lời:

  • ETA có xem xét lưu lượng truy cập theo thời gian thực nằm trong thuộc tính phản hồi duration.

  • Thuộc tính phản hồi staticDuration chứa thời gian di chuyển qua tuyến đường mà không tính đến tình trạng giao thông.

Tuỳ chọn định tuyến này cung cấp độ trễ phản hồi cao nhất (nghĩa là phản hồi trả về với độ trễ dài nhất). Hãy sử dụng lựa chọn ưu tiên về định tuyến này khi bạn muốn nhận được kết quả có chất lượng cao nhất mà không cần quan tâm đến thời gian phản hồi.

Hiệu quả của việc đặt thời gian khởi hành

Bạn có thể sử dụng thuộc tính departureTime để đặt thời gian khởi hành cho một chuyến đi. Nếu bạn không đặt thuộc tính departureTime, thì thuộc tính này sẽ mặc định hiển thị thời gian bạn đưa ra yêu cầu.

  • Đối với TRAFFIC_UNAWARE, bạn không thể đặt departureTime vì việc lựa chọn tuyến đường và thời gian là dựa trên mạng lưới đường và điều kiện giao thông không phụ thuộc vào thời gian trung bình.

  • Đối với TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL, những điều kiện giao thông trực tiếp sẽ trở nên quan trọng hơn khi departureTime càng gần với hiện tại. Bạn đặt thời gian khởi hành càng xa trong tương lai, thì chúng tôi càng xem xét nhiều hơn đến các điều kiện giao thông trước đây.

Ví dụ về lựa chọn ưu tiên định tuyến cho chế độ cài đặt

Mã JSON sau đây minh hoạ cách đặt lựa chọn ưu tiên định tuyến trong nội dung thực thể của 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"
}

Định cấu hình lưu lượng truy cập trên nhiều đường

API Tuyến đường cho phép bạn yêu cầu thông tin về tình trạng giao thông theo một hình nhiều đường nhận biết lưu lượng truy cập. Hãy xem phần Yêu cầu hình nhiều đường để biết thêm thông tin.