中階路線控點是指起點和目的地之間的位置 指定要使用的路徑中繼路線控點可以是停靠點 可以將其指定為傳送的位置路線控點範例 如需停靠站,請參閱在路線上設定停靠站一文。舉例來說 直通轉送 設定路徑要直通的點。
使用 intermediates
陣列屬性
computeRoutes 方法 (REST) 或
ComputeRoutes
方法 (gRPC) 以定義最多 25 個中繼路點。
對於要求中的每個中繼路線控點,
路徑物件 (REST) 或
路徑中的 Route object (gRPC)
回應會將一個項目新增至 legs
陣列,以提供
那是一段旅程
路線的每個路段都以
RouteLeg (REST) 或
RouteLeg (gRPC) 物件。
使用RouteLeg
回應欄位遮罩,
範例 - 設定中繼路線點
以下範例使用 intermediates
陣列屬性新增單個
中繼路點到路線的 POST 要求主體
這個範例會在 X-Goog-FieldMask
標頭中使用回應欄位遮罩
,指定在回應中傳回下列欄位:
routes.duration
routes.distanceMeters
- 整個
RouteLeg
物件的routes.legs
。
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'
這個呼叫的回應包含 legs
陣列。航段的每個步驟都是
代表的是
RouteLegStep (REST) 或
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": [ { ...