Điểm tham chiếu trung gian là các vị trí giữa điểm khởi hành và điểm đến mà bạn muốn tuyến đường đó đi qua. Điểm tham chiếu trung gian có thể là một điểm dừng hoặc bạn có thể chỉ định nó làm vị trí đi qua. Ví dụ về điểm tham chiếu để tìm điểm dừng, hãy xem Đặt điểm dừng dọc theo một tuyến đường. Ví dụ về điểm tham chiếu để truyền qua, Đặt điểm cho tuyến đường cần đi qua.
Sử dụng thuộc tính mảng intermediates
của
Phương thức computeRoutes (REST) hoặc
ComputeRoutes
(gRPC), để xác định tối đa 25 điểm tham chiếu trung gian.
Đối với mỗi điểm tham chiếu trung gian trong yêu cầu, hàm
Đối tượng định tuyến (REST) hoặc
Đối tượng định tuyến (gRPC) trong
Phản hồi sẽ thêm một mục vào mảng legs
để cung cấp thông tin chi tiết về
đoạn đó trong hành trình.
Mỗi chặng của tuyến đường được biểu thị bằng một
RouteLeg (REST) hoặc
Đối tượng RouteLeg (gRPC).
Kiểm soát trường RouteLeg
cần trả về bằng cách sử dụng
mặt nạ trường phản hồi.
Ví dụ – Thiết lập điểm tham chiếu trung gian
Ví dụ sau đây sử dụng thuộc tính mảng intermediates
để thêm một thuộc tính duy nhất
điểm tham chiếu trung gian đến nội dung yêu cầu POST của một tuyến.
Ví dụ này sử dụng một mặt nạ trường phản hồi trong tiêu đề X-Goog-FieldMask
chỉ định trả về các trường sau trong phản hồi:
routes.duration
routes.distanceMeters
routes.legs
tương ứng với toàn bộ đối tượngRouteLeg
.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } }, "sideOfRoad": true }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE", "routingPreference": "TRAFFIC_AWARE", "departureTime": "2022-10-15T15:01:23.045123456Z", "computeAlternativeRoutes": false, "routeModifiers": { "avoidTolls": false, "avoidHighways": false, "avoidFerries": false }, "languageCode": "en-US", "units": "IMPERIAL" }' -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs' 'https://routes.googleapis.com/directions/v2:computeRoutes'
Phản hồi của lệnh gọi này chứa mảng legs
. Mỗi bước của chân là
được biểu thị bằng
RouteLegStep (REST) hoặc
Đối tượng RouteLegStep (gRPC).
{ "routes": [ { "legs": [ # First leg { "distanceMeters": 207, "duration": "89s", "staticDuration": "89s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@@cF]@@oCK?" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "steps": [ { "distanceMeters": 21, "staticDuration": "6s", "polyline": { "encodedPolyline": "ipkcFjgchVd@@" }, "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.41954, "longitude": -122.08262750000002 } } }, ... }, # Second leg { "distanceMeters": 598, "duration": "159s", "staticDuration": "159s", "polyline": { "encodedPolyline": "ipkcFz{bhVh@??{@xPBP?J}E{E?" }, "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.08077919999998 } }, "endLocation": { "latLng": { "latitude": 37.417616599999995, "longitude": -122.07938820000001 } }, "steps": [ { ...