- HTTP 请求
- 请求正文
- 响应正文
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
接受出发地和目的地列表,并返回一个包含每个出发地和目的地组合的路线信息的串流。
注意:此方法要求您在输入中指定响应字段掩码。您可以使用网址参数 $fields
或 fields
,或使用 HTTP/gRPC 标头 X-Goog-FieldMask
提供响应字段掩码(请参阅可用的网址参数和标头)。该值是以英文逗号分隔的字段路径列表。请参阅有关如何构建字段路径的详细文档。
例如,在此方法中:
- 所有可用字段的字段掩码(适用于人工检查):
X-Goog-FieldMask: *
- 路线时长、距离、元素状态、条件和元素索引的字段掩码(一个生产设置示例):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
请务必在字段掩码中添加 status
,否则所有消息都将显示为正常。Google 不建议使用通配符 (*
) 响应字段掩码,因为:
- 仅选择您需要的字段有助于我们的服务器节省计算周期,从而缩短向您返回结果的延迟时间。
- 仅在生产作业中选择所需的字段可确保稳定的延迟时间性能。我们未来可能会添加更多响应字段,这些新字段可能需要额外的计算时间。如果您选择所有字段,或者选择顶级的所有字段,则可能会出现性能下降,因为我们添加的任何新字段都会自动包含在响应中。
- 仅选择所需字段会使响应大小变小,从而提高网络吞吐量。
HTTP 请求
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "origins": [ { object ( |
字段 | |
---|---|
origins[] |
必需。来源数组,用于确定响应矩阵的行。起点和目的地的基数受到以下几项大小限制:
|
destinations[] |
必需。目的地数组,用于确定响应矩阵的列。 |
travelMode |
可选。指定交通方式。 |
routingPreference |
可选。指定如何计算路线。服务器会尝试使用所选的路由偏好设置来计算路由。如果路由偏好设置导致错误或延迟时间过长,则会返回错误。只有当 |
departureTime |
可选。出发时间。如果您未设置此值,则此值默认为您发出请求的时间。注意:只有在 采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
arrivalTime |
可选。到达时间。注意:只有当 采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
languageCode |
可选。BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅 Unicode 语言区域标识符。如需查看支持的语言列表,请参阅语言支持。如果您未提供此值,系统会根据第一个来源的位置推断显示语言。 |
regionCode |
可选。地区代码,已指定为 ccTLD(“顶级域名”)双字符值。如需了解详情,请参阅国家/地区代码顶级域名。 |
units |
可选。指定显示字段的衡量单位。 |
extraComputations[] |
可选。可能用于完成请求的额外计算的列表。注意:这些额外的计算可能会在响应中返回额外的字段。这些额外的字段还必须在要返回的字段掩码中指定。 |
trafficModel |
可选。指定计算拥堵时间时要使用的假设。此设置会影响 |
transitPreferences |
可选。指定影响为 |
响应正文
包含 v2.computeRouteMatrix API 中针对出发地/目的地对计算的路线信息。此 proto 可以流式传输到客户端。
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{ "status": { object ( |
字段 | |
---|---|
status |
此元素的错误状态代码。 |
condition |
指示是否找到了路线。与状态无关。 |
distanceMeters |
路线的行程距离(以米为单位)。 |
duration |
导航路线所需的时间。如果您将 该时长以秒为单位,最多包含九个小数位,以“ |
staticDuration |
不考虑交通状况的情况下,沿着相应路线行驶所需的时间。 该时长以秒为单位,最多包含九个小数位,以“ |
travelAdvisory |
有关相应路线的其他信息。例如:限制信息和过路费信息 |
fallbackInfo |
在某些情况下,如果服务器无法根据此特定始发地/目的地对使用给定偏好设置计算路线,则可能会改用其他计算模式。使用回退模式时,此字段包含有关回退响应的详细信息。否则,系统会取消设置此字段。 |
localizedValues |
|
originIndex |
请求中来源的索引(从零开始)。 |
destinationIndex |
请求中目标的索引(从零开始)。 |
RouteMatrixOrigin
ComputeRouteMatrixRequest 的单个来源
JSON 表示法 |
---|
{ "waypoint": { object ( |
字段 | |
---|---|
waypoint |
必需。起点航点 |
routeModifiers |
可选。将此地点作为起点的每条路线的修饰符 |
RouteMatrixDestination
ComputeRouteMatrixRequest 的单个目的地
JSON 表示法 |
---|
{
"waypoint": {
object ( |
字段 | |
---|---|
waypoint |
必需。目的地航点 |
ExtraComputation
在完成请求时要执行的额外计算。
枚举 | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
未使用。包含此值的请求将失败。 |
TOLLS |
矩阵元素的过路费信息。 |
RouteMatrixElementCondition
返回的路线的状态。
枚举 | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
仅在元素的 status 不 OK 时使用。 |
ROUTE_EXISTS |
找到了路线,并为相应元素填写了相应信息。 |
ROUTE_NOT_FOUND |
找不到路线。元素中不会填充包含路线信息的字段,例如 distanceMeters 或 duration 。 |
LocalizedValues
特定属性的文字表示法。
JSON 表示法 |
---|
{ "distance": { object ( |
字段 | |
---|---|
distance |
以文本形式表示的旅行距离。 |
duration |
考虑路况信息以文本形式表示的时长。注意:如果未请求交通信息,此值与 staticDuration 相同。 |
staticDuration |
时长以文本形式表示,不考虑交通状况。 |
transitFare |
以文本形式表示的公共交通费用。 |