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, API Tuyến đường Compute Routes 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ự mà bạn cung cấp cho quảng cáo.

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

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

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

  2. Đảm bảo bạn không đặt routing_preference 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:

    Kiến trúc chuyển trạng thái đại diện (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 trung gian

Dưới đâ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 điểm tham chiếu dựa trên thứ tự bạn cung cấp chúng 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 mà nó được gán cho các điểm tham chiếu trong yêu cầu.

  3. Trả về thứ tự điểm trung gian được tối ưu hoá trong đối tượng routes, trong 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 khu vực sản xuất rượu vang chính của Nam Úc, sau đó quay lại 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": "Coonawarra,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,geocodingResults.intermediates.intermediateWaypointRequestIndex' \
'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": "Coonawarrav,SA"},
3    {"address": "McLaren+Vale,SA"}

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

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