Routes API 概览

Routes API 是一项服务,可接受 HTTPS 请求,并返回两个地点之间的理想路线,或不同出发地和目的地之间的路线矩阵的距离和行程时间。

为何使用 Routes API

借助 Routes API,您可以使用交通详情、最新路况和路况以及路线偏好设置来获取准确的路线和行程信息:

  • 不同交通方式的类型和功能

  • 车辆朝向哪个方向

  • 上车点或下车点的路边

  • 路况和封路

  • 出于安全方面的考虑,例如避开危险区域或提供安全上车区域

  • 借助可选功能(例如过路费和行程元数据,例如时间和距离以及燃油效率),在各种路线规划需求之间平衡延迟时间、质量和费用

您还可以为调度调度确定最高效的路由,例如:

  • 如何以最佳方式分配一组 worker 以提取一系列软件包

  • 确定最适合将包裹寄送到最终目的地的仓库

Routes API 有哪些用途?

借助 Routes API,您可以获取两类主要的路线信息:

  • 从某个位置到一个或多个目的地的路线

  • 多个起点和终点之间可能的路线的矩阵

获取单个或多个目的地的路线

借助 Routes API Compute Routes 方法,您可以在不同位置之间进行计算:

  • 查询不同交通方式的路线,以及单个或多个目的地的路线:

    • 交通方式,包括公交、驾车、双轮机动车、步行或骑车。

    • 一系列航点,您可以对其进行优化,以实现最高效的航点行程顺序。

  • 指定起点、目的地和路点的多种方式

    • 文本字符串。例如:“芝加哥,伊利诺伊州”“达尔文,澳大利亚北领地”“1800 Amphitheatre Parkway, Mountain View, CA 94043”或“CWF6+FWX Mountain View, California”

    • 地点 ID

    • 经纬度坐标,(可选)带有车辆方向

  • 根据您的需求和目标微调路线选项

  • 使用字段掩码仅请求您需要的数据,从而控制延迟时间和质量,这有助于避免不必要的处理时间和更高的请求结算费率。如需了解详情,请参阅选择要返回的信息

获取可能路线的矩阵

Routes API Compute Route Matrix 方法会为多个起点和终点之间的推荐路线提供信息矩阵,包括距离和预计到达时间,以帮助您根据业务需求选择最佳出发地和目的地。您可以请求以下类型的距离数据:

  • 所选出行方式的距离

  • 以公里或英里为单位的距离

  • 预计行程时间(堵车时)

借助距离数据,您可以确定在多个可能的起点和目的地之间,将乘客、运输或工人转移的最有效方式。

您可以在计算整个矩阵之前流式传输响应元素,从而缩短响应延迟时间。

您可以为每个服务器端请求指定多个出发地和目的地,出发地数量乘以目的地数量,最高可达到 625。

Routes API 的运作方式

Routes API 有两种方法:ComputeRoutesComputeRouteMatrix

ComputeRoutes

Routes API ComputeRoutes 方法接受包含请求详细信息的 JSON 请求正文的 HTTP POST 请求。必须指定出发地、目的地、travelMode 和字段掩码(用于指定要返回的字段)。

示例

curl -X POST -d '{
    "origin": {
      "address": "1800 Amphitheatre Parkway, Mountain View, CA 94043"
    },
    "destination": {
      "address": "Sloat Blvd &, Upper Great Hwy, San Francisco, CA 94132"
    },
  "travelMode": "DRIVE"
  }' \
  -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters' \
  'https://routes.googleapis.com/directions/v2:computeRoutes'

然后,服务会计算请求的路线,并返回您已请求的字段。

ComputeRouteMatrix

Routes API ComputeRouteMatrix 接受 HTTP POST 请求,该请求具有包含请求详情的 JSON 请求正文。必需提供至少一个起点、两个或更多目的地、travelMode 以及一个字段掩码,以指定要返回的字段。

示例

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      }
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

响应包含所有起点和目的地路点组合的可能路线。

资源

下表汇总了 Routes API 提供的资源及其返回的数据。

数据资源 返回的数据 返回格式
ComputeRoutes 返回路线、路段和步骤,以及备选路线(如果请求)。 JSON
ComputeRouteMatrix 返回从一个出发地航点到一个目的地航点的一组路线。

如何使用 Routes API

1 开始设置 首先设置 Google Cloud 项目,然后完成后续的设置说明。
2 计算路线并查看响应 如需了解详情,请参阅获取路线查看路线响应
3 计算路线矩阵并查看响应 如需了解详情,请参阅获取路由矩阵查看路由矩阵响应

可用的客户端库

如需查看 Routes API 的可用客户端库列表,请参阅客户端库

后续步骤