计算路线矩阵

您可以计算路线的距离和持续时间 使用 ComputeRouteMatrix 方法指定出发地和目的地 是 Routes Preferred API 的实现方法。ComputeRouteMatrix 支持 流式传输 gRPC 调用和 REST HTTP 调用。

如果给定出发地和目的地对的列表,则 ComputeRouteMatrix 计算以每个起点为起点的路线的距离和时长 并在每个目的地结束流的每个元素对应 单个路由的信息

ComputeRouteMatrix 距离矩阵服务:

  • 流式处理允许在整个矩阵之前返回元素 从而缩短延迟时间
  • ComputeRouteMatrix 提供精细的流量计算选项, 以便您做出质量与延迟权衡决策。
  • 请求在 Google 的基础设施内以更高的优先级处理 从而实现更高的可用性
  • 您可以指定方向(行进方向)和路边 。
  • 您可以请求返回收费信息以及 路线距离和预计到达时间。

启用 ComputeRouteMatrix 方法

若要在代码中使用 ComputeRouteMatrix 方法,您必须先: 启用它。详细了解如何启用 Routes Preferred API 方法,请参阅使用入门

使用 ComputeRouteMatrix 方法

ComputeRouteMatrix 方法可通过首选路线获得 v1 端点。

如需了解详情,请参阅以下文档:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

以下通用步骤介绍了如何使用 gRPC 调用 ComputeRouteMatrix 方法:

  1. 从 googleapis 代码库中检出必要的协议缓冲区:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    请注意,某些构建系统(例如 Go)可能会自动为您执行此操作。

  2. 使用您的首选语言和构建工具集,生成相关的 protobuffer 代码。

  3. 生成您的请求。必须发送两段必要的元数据 替换为请求:

    • X-Goog-Api-Key 必须设置为您的 API 密钥。
    • X-Goog-Fieldmask 必须设置为以英文逗号分隔的字段列表 响应所需的参数。例如: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status。 可以使用通配符 (*) 来表示所有字段,但 不建议。使用通配符来测试和理解 API 响应,但需在字段掩码中明确列出所需的字段 。

      如需详细了解如何构造字段掩码字符串,请参阅 https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. 请注意,停用您不需要的字段可以缩短延迟时间,因为 这些字段可能需要进一步计算。延迟时间将保持不变 (如果您指定了所需的字段)和需要指定新字段 后续将添加更多计算任务。

  4. routespreferred.googleapis.com:443 发送请求。您必须使用 TLS 协议

如需查看使用 ComputeRouteMatrix 方法的示例,请参阅 计算路线矩阵(Beta 版)样本

ComputeRouteMatrix 方法的一个与众不同之处在于, 可以针对整个视频流或单个 元素。例如,如果对流请求执行的 格式错误(例如,起点为零)。但是,如果出现错误 数据流的几个元素(例如,设置一个无效的地点 ID) 则只有受该错误影响的元素包含错误代码。

流返回的元素不一定会返回 按任意顺序展示因此,每个元素都包含一个 origin_indexdestination_index。对于指定的出发地和目的地 路线出发地相当于 origins[origin_index] 且路线目的地等效。 至 destinations[destination_index]。这些数组从零索引。它 对存储出发地和目的地列表订单非常重要。

正在计算通行费

有关计算通行费的信息,请参阅 计算通行费

有关计算通行费的示例,请参阅 计算路线矩阵样本