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

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

Bạn có thể để API Tuyến đường 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 sẽ tối ưu hoá cho 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ố ngã rẽ khi quyết định tuyến đường nào là hiệu quả nhất.

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

  1. Hãy đảm bảo rằng không có điểm tham chiếu nào trong tuyến đường có via được đặt thành true, ví dụ: {"address": "Clare,SA", "via": true}. Để biết thêm thông tin về điểm tham chiếu trung gian, hãy xem phần Chỉ định điểm tham chiếu trung gian.

  2. Đảm bảo routing_preference không được đặt thành TRAFFIC_AWARE_OPTIMAL.

  3. Đặt optimize_waypoint_order thành true. Ví dụ:

    "optimizeWaypointOrder": "true",
    
  4. Chỉ định trường routes.optimizedIntermediateWaypointIndex trong mặt nạ trường (field mask):

    REST

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    RPC

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

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

Sau đây là cách API Tuyến đường 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 tham chiếu dựa trên thứ tự mà bạn cung cấp các điểm tham chiếu đó trong yêu cầu, bắt đầu bằng 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 được chỉ định cho các điểm tham chiếu trong yêu cầu.

  3. Trả về thứ tự điểm tham chiếu được tối ưu hoá trong đối tượng routes, ở trường waypoint_order, trong routes.optimizedIntermediateWaypointIndex.

Ví dụ:

Yêu cầu này yêu cầu tối ưu hoá cho một tuyến đường từ Adelaide, Nam Úc, đến từng vùng rượu vang chính của Nam Úc và sau đó trở về Adelaide.

curl -X POST -H 'content-type: application/json' -d ' {
  "origin": {
    "address": "Adelaide,SA"
  },
  "destination": {
    "address": "Adelaide,SA"
  },
  "intermediates": [
    {"address": "Barossa+Valley,SA"},
    {"address": "Clare,SA"},
    {"address": "Connawarra,SA"},
    {"address": "McLaren+Vale,SA"}
  ],
  "travelMode": "DRIVE",
  "optimizeWaypointOrder": "true"
  }' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

API Tuyến đường lập chỉ mục các điểm tham chiếu trung gian được cung cấp trong yêu cầu, bắt đầu từ 0. Ví dụ:

0    {"address": "Barossa+Valley,SA"},
1    {"address": "Clare,SA"},
2    {"address": "Connawarra,SA"},
3    {"address": "McLaren+Vale,SA"}

Sử dụng số chỉ mục cho 4 điểm tham chiếu được cung cấp trong yêu cầu, sau đó dịch vụ sẽ trả về thứ tự được tối ưu hoá:

"optimizedIntermediateWaypointIndex": [
                3,
                2,
                0,
                1
            ]