Xem tuyến đường có quãng đường ngắn hơn

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

Compute Routes có thể trả về các tuyến đường lái xe được tối ưu hoá để có khoảng cách di chuyển ngắn hơn khi bạn bật tuyến đường có khoảng cách ngắn hơn.

Khi bạn yêu cầu một tuyến đường ngắn hơn, dịch vụ sẽ trả về những thông tin sau:

  • Tuyến đường mặc định, là tuyến đường được tối ưu hoá chủ yếu cho thời gian đến dự kiến.
  • Tuyến đường ngắn hơn được tối ưu hoá để giảm thiểu khoảng cách di chuyển trong toàn bộ chuyến đi.

Định nghĩa và lý do nên sử dụng

Tuyến đường ngắn hơn ưu tiên khoảng cách hơn sự thoải mái khi lái xe hoặc tốc độ. Ví dụ: xe có thể ưu tiên đường nội đô thay vì đường cao tốc, đi đường đất hoặc đi tắt qua bãi đỗ xe. Phương thức này không trả về bất kỳ thao tác nào mà Google Maps biết là bất hợp pháp.

Yêu cầu tuyến đường có khoảng cách ngắn hơn

Yêu cầu của bạn phải đáp ứng các tiêu chí sau:

  • Đặt travelMode thành DRIVE, BICYCLE hoặc TWO_WHEELER.
  • Đặt requestedReferenceRoutes thành SHORTER_DISTANCE.
  • Đặt mặt nạ cho trường phản hồi để trả về các thuộc tính phản hồi được liên kết với một tuyến đường có khoảng cách ngắn hơn:
    • routes.routeLabels: Xác định từng tuyến đường là DEFAULT_ROUTE, SHORTER_DISTANCE hoặc DEFAULT_ROUTE_ALTERNATE.
    • routes.routeToken: Mã thông báo tuyến đường mà bạn có thể truyền đến Navigation SDK để truy xuất một tuyến đường tuỳ chỉnh.
  • Đừng thêm bất kỳ Via điểm dừng chân trung gian nào.
  • Đừng thêm tham số optimizeWaypointOrder.
  • Không bắt buộc: Đặt mặt nạ cho trường phản hồi để trả về các thuộc tính sau đây được liên kết với cả tuyến đường mặc định và tuyến đường ngắn hơn:
    • routes.distanceMeters: Trả về khoảng cách của tuyến đường.
    • routes.duration: Trả về thời lượng của tuyến đường.

Để biết thông tin tham khảo, hãy xem ReferenceRouteRouteLabel.

Ví dụ về yêu cầu: Tuyến đường ngắn hơn

Đoạn mã sau đây cho thấy yêu cầu về một tuyến đường có khoảng cách ngắn hơn. Trong ví dụ này, bạn sử dụng mặt nạ trường phản hồi để trả về các trường được liên kết với cả tuyến đường mặc định và tuyến đường ngắn hơn bằng các mặt nạ trường sau:

  • routes.distanceMeters
  • routes.duration
curl -X POST -H 'content-type: application/json' -d '{
  "origin": {
    "location": {
      "latLng": {
        "latitude": 41.76904801292959,
        "longitude": -72.67374935684933
      }
    }
  },
  "destination": {
    "location": {
      "latLng": {
        "latitude": 41.823042361105024,
        "longitude": -71.40933143059424
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE",
  "requestedReferenceRoutes": ["SHORTER_DISTANCE"],
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Ví dụ về câu trả lời cho tuyến đường ngắn hơn

{
  "routes": [
    {
      "distanceMeters": 138943,
      "duration": "5373s",
      "routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 112610,
      "duration": "7165s",
      "routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
      "routeLabels": [
        "SHORTER_DISTANCE"
      ]
    }
  ]
}

Ví dụ về yêu cầu: Tuyến đường ngắn hơn và tiết kiệm nhiên liệu

Đoạn mã sau đây cho thấy yêu cầu về cả tuyến đường có khoảng cách ngắn hơn và tuyến đường tiết kiệm nhiên liệu.

`

 curl -X POST -d '{
"origin": {  "location": {  "latLng": {  "latitude": 41.76904801292959,
"longitude": -72.67374935684933  }  }  },  "destination": {  "location": {
"latLng": {  "latitude": 41.823042361105024,  "longitude": -71.40933143059424  }
 }  },  "travelMode":"DRIVE",  "routingPreference":"TRAFFIC_AWARE_OPTIMAL",
"requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }' 
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Ví dụ về câu trả lời: Khoảng cách ngắn hơn và Tuyến đường tiết kiệm nhiên liệu

Trong trường hợp này, tuyến đường có khoảng cách ngắn hơn và tiết kiệm nhiên liệu nhất là tuyến đường giống nhau, vì vậy, tuyến đường đó sẽ được trả về và routeLabel sẽ được đưa vào cho cả hai loại tuyến đường.

{  "routes": [  {  "distanceMeters": 138943,  "duration": "5375s",
"routeToken":
"Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ",
 "routeLabels": [  "DEFAULT_ROUTE"  ]  },  {  "distanceMeters": 112610,
"duration": "7156s",  "routeToken":
"CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f",
 "routeLabels": [  "FUEL_EFFICIENT",  "SHORTER_DISTANCE"  ]  }  ] }

Khu vực được hỗ trợ

Tuyến đường có khoảng cách ngắn hơn được hỗ trợ ở mọi khu vực.

Thanh toán

Nền tảng Google Maps không tính thêm phí cho việc sử dụng một tính năng thử nghiệm. Bạn sẽ bị tính phí dựa trên mức sử dụng API theo các thông số khác mà bạn đặt.

Tìm hiểu thêm về việc thanh toán cho Routes API.