大型车辆路线规划

大型车辆路线规划是一组属性,可让您通过指定实体尺寸、重量和拖车数量来优化大型车辆的车队路线。该 API 使用这些属性来计算可行的路径,以避开受限道路、低桥或限重路线。

借助大型车辆路线规划,您可以解决重型车辆和大型车辆的物流难题,例如:

  • 避开道路危险:生成可引导车辆避开低净空、限重道路和其他物理危险的路线规划。
  • 指定详细的车辆信息:将精确的尺寸、总重量、车轴数量和拖车配置纳入整个车队的路线规划中。
  • 改进整个车队的规划:为整个卡车车队制定高效的路线规划,同时确保所有任务分配都符合实际道路限制。

限制

在开始之前,您必须了解以下限制和要求。

  • 适用地区:大型车辆路线规划仅适用于美国本土 48 个州
  • 驾驶员建议和安全:驾驶员不得仅依赖此 API 返回的路线来确保安全或合法。我们无法保证路线适合车辆,如果按照路线行驶,驾驶员可能会遇到低桥或禁止大型车辆通行的道路等危险。
  • 尽力而为的路线:在某些情况下,API 无法找到完全符合出行限制的路线。而是返回一条“尽力而为”的路线,该路线可能仍会经过受限区域。
  • 不支持的功能:大型车辆路线规划不支持以下功能:
    • 卡车通行费价格
    • 速度限制
    • 放射性有害物质的路线
  • 结算:无论请求是否配置了大型车辆路线规划属性,Google 都会统一结算所有 optimizeTours 请求。
  • 长途路线:跨越 500 公里或更远的长途卡车路线比短途路线需要更多计算时间,并且可能会返回质量较低的路线数据。为确保路线质量,请限制货件、车辆起始位置和车辆结束位置之间的距离。如果您需要长路线,请增加请求截止期限,以降低出现 DEADLINE_EXCEEDED 错误的几率。

属性

如需使用大型车辆路线规划属性,您必须配置车辆的实际尺寸,并将其路线规划模式设置为卡车。

下表列出了用于配置大型车辆路线规划的顶级属性:

属性 类型 要求 说明
travelMode 字符串 必填 指定车辆的出行模式。如需启用大型车辆路线规划属性,请将此值设置为 TRUCK
routeModifiers 对象 必填 包含特定于路线的配置,包括 vehicleInfo

vehicleInfo

vehicleInfo 对象包含车辆的物理规格。在 routeModifiers 属性中定义此对象。 如果您将 travelMode 设置为 TRUCK,则必须提供 vehicleInfo 对象

下表列出了 vehicleInfo 对象中可用的属性:

属性 类型 要求 说明
totalHeightMm integer 必填 指定车辆的总高度(以毫米为单位)。此值必须是正整数
totalWidthMm integer 必填 指定车辆的总宽度(以毫米为单位)。此值必须是正整数
totalWeightKg integer 必填 指定车辆的总重量(以千克为单位)。此值必须是正整数
totalLengthMm integer 必填 指定车辆的总长度(以毫米为单位)。此值必须是正整数
trailerInfo 数组 可选 包含一个预告片规范数组,其中包括 lengthMm 属性,用于指定每个预告片的长度(以毫米为单位)。
totalAxleCount integer 必填 指定车辆上的车轴总数。此值必须是一个大于或等于 2 的整数。

示例

本部分包含两种类型的示例:

代码示例

以下示例展示了用于大型车辆路线规划的属性的结构:

"vehicles": [
  {
    "travelMode": "TRUCK",
    "routeModifiers": {
      "vehicleInfo": {
        "totalHeightMm": TOTAL_HEIGHT_MM,
        "totalWidthMm": TOTAL_WIDTH_MM,
        "totalWeightKg": TOTAL_WEIGHT_KG,
        "totalLengthMm": TOTAL_LENGTH_MM,
        "trailerInfo": [
          {
            "lengthMm": TRAILER_LENGTH_MM
          }
        ],
        "totalAxleCount": TOTAL_AXLE_COUNT
      }
    }
  }
]

请求示例

以下示例展示了包含大型车辆路线规划的基本 optimizeTours 请求的结构:

{
  "model": {
    "shipments": [
      {
        "pickups": [
          {
            "arrivalLocation": {
              "latitude": 40.953523,
              "longitude": -72.2277846
            }
          }
        ],
        "deliveries": [
          {
            "arrivalLocation": {
              "latitude": 40.9546673,
              "longitude": -72.2580151
            }
          }
        ]
      }
    ],
    "vehicles": [
      {
        "travelMode": "TRUCK",
        "routeModifiers": {
          "vehicleInfo": {
            "totalHeightMm": 4000,
            "totalWidthMm": 2500,
            "totalWeightKg": 9000,
            "totalLengthMm": 20000,
            "trailerInfo": [
              {
                "lengthMm": 15000
              }
            ],
            "totalAxleCount": 5
          }
        },
        "costPerKilometer": 1.0
      }
    ]
  }
}