Method: computeRouteMatrix

获取起点和终点列表,并返回一个流,其中包含起点和终点的每个组合的路线信息。

注意:此方法要求您在输入中指定响应字段掩码。您可以使用网址参数 $fieldsfields,或使用 HTTP/gRPC 标头 X-Goog-FieldMask 提供响应字段掩码(请参阅可用的网址参数和标头)。该值是以英文逗号分隔的字段路径列表。请参阅关于如何构建字段路径的详细文档。

例如,在此方法中:

  • 所有可用字段的字段掩码(用于手动检查):X-Goog-FieldMask: *
  • 路线用时、距离、元素状态、条件和元素索引(生产环境设置示例)的字段掩码:X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

请务必在字段掩码中添加 status,否则所有消息都会显示为正常。Google 不建议使用通配符 (*) 响应字段掩码,因为:

  • 仅选择您需要的字段可帮助我们的服务器节省计算周期,从而以更短的延迟时间将结果返回给您。
  • 仅选择生产作业中需要的字段,可确保稳定的延迟性能。我们未来可能会添加更多响应字段,这些新字段可能需要额外的计算时间。如果您选择所有字段,或者选择顶层的所有字段,则效果可能会下降,因为我们添加的所有新字段都会自动包含在响应中。
  • 仅选择所需字段可以降低响应大小,从而提高网络吞吐量。

HTTP 请求

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

网址采用 gRPC 转码语法。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
字段
origins[]

object (RouteMatrixOrigin)

必需。源站数组,用于确定响应矩阵的行。一些大小限制适用于出发地和目的地的基数:

  • 在任何情况下,元素数量(起点 × 目的地)的数量均不得超过 625 个。
  • 如果 routePreference 设置为 TRAFFIC_AWARE_OPTIMAL,则元素(出发地 × 目的地)的数量不得超过 100。
  • 指定为 placeId 的航点(出发地 + 目的地)数量不得超过 50 个。
destinations[]

object (RouteMatrixDestination)

必需。目的地数组,用于确定响应矩阵的列。

travelMode

enum (RouteTravelMode)

可选。指定交通方式。

routingPreference

enum (RoutingPreference)

可选。指定如何计算路由。服务器尝试使用所选路由偏好设置来计算路由。如果路由偏好设置导致错误或延迟时间过长,则系统会返回错误。将来,我们可能会实现一种回退机制,以便在首选选项无法给出有效结果时使用其他选项。只有在 travelModeDRIVETWO_WHEELER 时,您才能指定此选项,否则请求会失败。

departureTime

string (Timestamp format)

可选。出发时间。如果未设置此值,则默认为您发出请求的时间。如果将此值设置为已发生的时间,则请求会失败。

时间戳,采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式,具有纳秒级分辨率,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

响应正文

如果成功,则响应正文包含一个 RouteMatrixElement 实例。

授权范围

需要以下 OAuth 作用域:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

有关详情,请参阅 OAuth 2.0 概览