大型车辆路线规划是一组属性,可让您通过指定实体尺寸、重量和拖车数量来优化大型车辆的车队路线。该 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 } ] } }