Routes API có thể trả về các tuyến đường lái xe được tối ưu hoá cho quãng đường di chuyển ngắn hơn khi bạn bật các tuyến đường có quãng đường ngắn hơn.
Khi bạn yêu cầu một tuyến đường có quãng đườ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 ETA.
- Một tuyến đường ngắn hơn được tối ưu hoá để giảm thiểu quãng đường di chuyển trong toàn bộ chuyến đi.
Khái niệm và lý do sử dụng
Tuyến đường có quãng đường ngắn hơn sẽ ưu tiên quãng đường hơn là sự thoải mái khi lái xe hoặc tốc độ. Ví dụ: phương tiện có thể ưu tiên đường nội đô thay vì đường cao tốc, đi theo đường đất hoặc cắt ngang 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ó quãng đường 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ànhDRIVE
,BICYCLE
hoặcTWO_WHEELER
. - Đặt
requestedReferenceRoutes
thànhSHORTER_DISTANCE
. - Đặt mặt nạ trường phản hồi để trả về các thuộc tính phản hồi liên kết với một tuyến đường có quãng đường ngắn hơn:
routes.routeLabels
: Xác định từng tuyến làDEFAULT_ROUTE
,SHORTER_DISTANCE
hoặcDEFAULT_ROUTE_ALTERNATE
.routes.routeToken
: Mã thông báo tuyến mà bạn có thể truyền đến Navigation SDK để truy xuất tuyến tuỳ chỉnh.
- Không bao gồm bất kỳ điểm trung gian
Via
nào. - Không đưa tham số
optimizeWaypointOrder
vào. - Không bắt buộc: Đặt mặt nạ trường phản hồi để trả về các thuộc tính sau đây liên kết với cả tuyến đường mặc định và tuyến đường có quãng đường ngắn hơn:
routes.distanceMeters
: Trả về quãng đường của tuyến.routes.duration
: Trả về thời lượng của tuyến đường.
Để biết thông tin tham khảo, hãy xem ReferenceRoute và RouteLabel.
Yêu cầu mẫu: Tuyến đường có quãng đường ngắn hơn
Mã sau đây cho thấy một yêu cầu về tuyến đường có quãng đường 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 liên kết với cả tuyến đường mặc định và tuyến đường có quãng đườ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ề phản hồi 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"
]
}
]
}
Yêu cầu mẫu: Tuyến đường ngắn hơn và tiết kiệm nhiên liệu
Mã sau đây cho thấy một yêu cầu cho cả tuyến đường có quãng đường 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'
Câu trả lời mẫu: Quãng đường ngắn hơn và Tuyến đường tiết kiệm nhiên liệu
Trong trường hợp này, quãng đường ngắn hơn và tuyến đường tiết kiệm nhiên liệu nhất là giống nhau, vì vậy, tuyến đường đó sẽ được trả về và routeLabel
được đưa vào 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ợ
Các tuyến đường có quãng đường ngắn hơn được hỗ trợ ở tất cả các khu vực.
Thanh toán
Nền tảng Google Maps không tính thêm phí khi bạn sử dụng tính năng thử nghiệm. Bạn sẽ bị tính phí dựa trên mức sử dụng API dựa trên 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.