中间航点是指您希望路线经过的、位于出发地和目的地之间的位置。
您可以使用 REST computeRoutes 方法或 gRPC ComputeRoutes 方法的 intermediates 数组属性,在单个请求中定义最多 25 个中间途经点。
经停点与直达航点
您可以将中途经停点配置为停靠点或途经点:
- 经停点:默认情况下,车辆会在该位置停靠。每个经停点都会通过在响应中向
legs数组添加RouteLeg条目来划分路线。如需了解详情,请参阅在路线中设置经停点。 - 将
"via"设置为true的途经途经点:车辆会途经相应位置,但不会在此处停车。途经航点不会向legs数组添加条目。如需了解详情,请参阅设置路线的途经点。
路线段和中间航点
对于请求中的每个中途经停点,响应会在 routes.legs 数组中包含一个单独的 RouteLeg 对象。
例如,包含出发地、一个中途经停点和目的地的路线包含两个路线段: * 第 1 段:从出发地到中途经停点。 * 第 2 段:从中间经停点到目的地。
示例:包含中间途经点的请求
以下示例使用 intermediates 数组向路线添加单个中途经停点。
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, "intermediates": [ { "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0807784 } } } ], "travelMode": "DRIVE" }' \ -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'
包含多个路线段的响应
由于请求中的中间航点是未设置 "via": true 的经停点,因此响应会在 legs 数组中将路线分为两段:
{ "routes": [ { "distanceMeters": 805, "duration": "248s", "legs": [ { "distanceMeters": 207, "duration": "89s", "startLocation": { "latLng": { "latitude": 37.4197318, "longitude": -122.0826233 } }, "endLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } } }, { "distanceMeters": 598, "duration": "159s", "startLocation": { "latLng": { "latitude": 37.419734, "longitude": -122.0807792 } }, "endLocation": { "latLng": { "latitude": 37.4176166, "longitude": -122.0793882 } } } ] } ] }