Tối ưu hóa thứ tự các trạm dừng trên tuyến đường của bạn

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Theo mặc định, phương thức computeRoutes của thư viện Tuyến đường sẽ tính toán một tuyến đường qua nhiều điểm dừng (gọi là điểm dừng chân) theo thứ tự mà bạn cung cấp.

Bạn có thể yêu cầu Routes API tối ưu hoá tuyến đường đã cung cấp bằng cách sắp xếp lại các điểm dừng theo thứ tự hiệu quả hơn. Tính năng tối ưu hoá điểm tham chiếu tối ưu hoá thời gian di chuyển nhưng cũng xem xét các yếu tố khác như khoảng cách và số lượt rẽ khi quyết định tuyến đường nào hiệu quả nhất.

Để tối ưu hoá các điểm tham chiếu

  1. Đảm bảo không có điểm đánh dấu nào trong tuyến đường được đặt via thành true.
  2. Đảm bảo bạn không đặt routingPreference thành TRAFFIC_AWARE_OPTIMAL.
  3. Đặt optimizeWaypointOrder thành true.
  4. Chỉ định trường optimizedIntermediateWaypointIndices trong mặt nạ trường.

Tìm hiểu cách tối ưu hoá thứ tự điểm tham chiếu

Sau đây là cách Routes API tối ưu hoá thứ tự của các điểm tham chiếu trong một tuyến đường:

  1. Tự động lập chỉ mục các điểm dừng dựa trên thứ tự bạn cung cấp trong yêu cầu, bắt đầu từ 0.
  2. Tối ưu hoá thứ tự của các điểm tham chiếu bằng cách sử dụng số chỉ mục mà bạn đã chỉ định cho các điểm tham chiếu trong yêu cầu.
  3. Trả về thứ tự tối ưu của các điểm tham chiếu trong phản hồi trong optimizedIntermediateWaypointIndices.

Ví dụ về yêu cầu

Ví dụ sau đây cho thấy cách yêu cầu các điểm tham chiếu được tối ưu hoá trong một tuyến đường từ Adelaide, Nam Úc đến từng vùng trồng nho chính của Nam Úc, rồi quay lại Adelaide.

const request = {
  origin: 'Adelaide, SA',
  destination: 'Adelaide, SA',
  intermediates: [
    {location: "Barossa+Valley,SA"},
    {location: "Clare,SA"},
    {location: "Coonawarra,SA"},
    {location: "McLaren+Vale,SA"},
  ],
  travelMode: 'DRIVING',
  optimizeWaypointOrder: true,
  fields: ['path','optimizedIntermediateWaypointIndices'],
};
  

Ví dụ về phản hồi

Phản hồi bao gồm optimizedIntermediateWaypointIndices.
  Response:
 [
  {
    "optimizedIntermediateWaypointIndices": [
      3, // McLaren+Vale, SA
      2, // Coonawarra, SA
      0, // Barossa+Valley, SA
      1  // Clare, SA
    ],
    ...