正在跳转至目标页,请稍后…
1、概述
货车(trucking)路线规划,基于道路客观条件产生的宽高重限制和行政部门规定的限制,结合实时路况、少收费、不走高速、躲避拥堵等多种偏好,对货车路线进行规划。
货车距离矩阵,用于批量计算一组起终点的路面距离(或称导航距离),用户可通过该服务,根据多起点和多终点坐标计算货车路线规划距离和行驶时间。
注:
本服务属于高级付费服务,如需试用请提交商务合作开通服务试用。
2、货车路线规划
本服务主要特点:
-
支持根据车辆规格(宽、高、重、车型等)避开不可通行道路
-
支持避开政策限行区域(如北京市每天6时至23时,五环路(不含)以内道路禁止载货汽车通行)
-
支持实时路况、不走高速、少收费、躲避拥堵等策略偏好
2.1 请求URL
2.2 请求参数
参数 | 必填 | 说明 | 示例 |
---|---|---|---|
key | 是 | 开发key | key=YourKey |
from | 是 | 起点坐标 格式:lat,lng, 其中lat为纬度,lng为经度,半角逗号分隔 |
from=39.780574,116.362381 |
from_poi | 否 | 起点POI ID,传入后,优先级高于from | from_poi= 4077524088693206111 |
to | 是 | 终点坐标 格式:lat,lng |
to=39.833603,116.414974 |
to_poi | 否 | 终点POI ID,传入后,优先级高于to | to_poi= 5371594408805356897 |
size | 否 | 车型,依据国标分类 1: 微型车 2: 轻型车(默认) 3: 中型车 4: 重型车 |
size=2 |
length | 否 | 车辆长度,单位:米,默认 4.2 | length=5.9 |
height | 否 | 车辆高度,单位:米,默认 1.8 | height=3.1 |
width | 否 | 车辆宽度,单位:米,默认 1.9 | width=2.1 |
weight | 否 | 车辆总重,单位:吨 ,默认 2.5 | weight=5.4 |
load | 否 | 核定载重,单位:吨 ,默认 2 | load=2.5 |
axle_weight | 否 | 轴重,单位:吨,默认 2 | axle_weight=2.7 |
axle_count | 否 | 轴数,默认 2 | axle_count=2 |
is_trailer | 否 | 是否挂车 0:否(默认) 1:是 |
is_trailer=0 |
trailer_type | 否 | 拖挂类型 0:无(默认) 1:平板 2:箱货 3:半挂 4:全挂 |
trailer_type=1 |
goods_type | 否 | 货品类型 0:常规货品(默认) 1:危险品 |
goods_type=1 |
energy_type | 否 | 能源类型 0:不限 1:柴油 2:油电混动 3:纯电 4:汽油 |
energy_type=1 |
gas_emisstand | 否 | 尾气排放标准 0:不限(默认) 1:国I 2:国II 3:国III 4:国IV 5:国V 6:国VI |
gas_emisstand=2 |
waypoints | 否 | 途经点,格式:lat1,lng1;lat2,lng2;… 最大支持30个,超过30个之后的将被忽略 | waypoints=39.951004,116.571980 |
policy | 否 | 策略偏好,取值为 1: [默认] 参考实时路况,尽量躲避拥堵 2: 参考实时路况,不走高速 3: 参考实时路况,少收费 4: 参考实时路况,尽量躲避拥堵,并且不走高速 5: 参考实时路况,尽量不走高速,并且少收费 6: 参考实时路况,尽量躲避拥堵,并且少收费 7: 参考实时路况,尽量躲避拥堵,尽量不走高速,并且少收费 8: 参考实时路况,高速优先 9: 参考实时路况,高速优先,尽量躲避拥堵 |
policy=1 |
plate_number | 否 | 车牌号 当缺省时,算路不考虑政策性区域限行 |
plate_number=京A56984 |
plate_color | 否 | 车牌颜色,取值 1:蓝色(默认) 2:黄色 3:黑色 4:白色 5:绿色 6:黄绿 |
plate_color=1 |
pass_type | 否 | 有无通行证 0:无需考虑通行证(默认) 1:有通行证 2:无通行证 3:预约通行证 |
pass_type=1 |
get_speed | 否 | 是否返回路线实时路况(蚯蚓线)信息,取值 1: 返回 0: 不返回(默认) |
get_speed=1 |
get_mp | 否 | 是否返回多条路线方案(目前支持同时返回3条),取值 0:返回一条推荐路线(默认) 1:返回1到3条路线 |
get_mp=1 |
no_step | 否 | 是否返回路线步骤,取值 0:返回(默认) 1:不返回 |
no_step=1 |
no_polyline | 否 | 是否返回路线坐标点串,取值 0:返回(默认) 1:不返回 |
no_polyline=1 |
tag_mode | 否 | 路线标签形式 0:全部标签(默认),v1英文标签+v2中文标签混合返回 1:中文标签,仅返回v2中文标签 |
tag_mode=1 |
output | 否 | 输出格式:可选: json(默认) jsonp |
output=jsonp |
callback | 否 | output=jsonp的回调函数名 (适用于浏览器端调用) | callback=cb |
2.3 响应结果
名称 | 类型 | 必有 | 说明 | |||
---|---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常,其它为异常,详细请参阅状态码说明 | |||
message | string | 是 | 状态说明 | |||
result | object | 是 | 计算结果 | |||
routes | array | 是 | 路线方案,默认返回一条,当输入参数get_mp=1时可返回最多三条方案供用户备选 | |||
mode | string | 是 | 路线方案(TRUCKING) | |||
tags | array | 是 | 方案标签,表明方案特色,详细说明见下文 | |||
distance | number | 是 | 方案总距离,单位:米 | |||
duration | number | 是 | 方案估算时间(含路况),单位:分钟 | |||
polyline | array | 否 | 路线坐标点串 (该点串经过压缩,解压请参考:polyline 坐标解压) 当no_polyline=0时才返回 |
|||
restriction | object | 否 | 限行信息 | |||
status | number | 否 | 限行状态码: 0 途经没有限行城市,或路线方案未涉及限行区域 (废弃,仅供参考) 1 途经包含有限行的城市 (废弃,仅供参考) 3 [设置车牌] 已避让限行 4 [设置车牌] 无法避开限行区域(本方案包含限行路段) |
|||
steps | array | 是 | 路线步骤 ,当no_step=1时值为空 | |||
instruction | string | 否 | 阶段路线描述 | |||
polyline_idx | array | 否 | 阶段路线坐标点串,在路线坐标点串的位置,此索引号为polyline中的数组下标位置 | |||
road_name | string | 否 | 阶段路线路名 | |||
dir_desc | string | 否 | 阶段路线方向 | |||
distance | number | 否 | 阶段路线距离,单位:米 | |||
act_desc | string | 否 | 阶段路线末尾动作,如:左转调头 | |||
accessorial_desc | string | 否 | 末尾辅助动作,如:到达终点 | |||
speed | array | 否 | 路况信息,只有设置了get_speed=1才返回 | |||
speed | number | 否 | 路况速度,单位:千米/小时 | |||
polyline_idx | array | 否 | 阶段路线坐标点串,在路线坐标点串的位置 | |||
distance | number | 否 | 距离,单位:米 | |||
level | number | 否 | 路况类型,取值 0:畅通 1:缓行 2:拥堵 3:无路况 4:严重拥堵 |
阶段路线末尾动作(act_desc)列表
- 左转
- 右转
- 偏左转
- 偏右转
- 左后转
- 右后转
- 左转掉头
- 直行
- 靠左
- 靠右
- 进入环岛
- 空
末尾辅助动作(accessorial_desc)列表
进入主路 进入辅路 出主路 进高速 进入匝道 进入隧道 进入中间岔道 进入右岔路 进入左岔路 进入右转专用道 进入左转专用道 进入服务区 进入调头车道 不要进入收费站 进入内部路 不要进入内部路 不要进入隧道 不要进入匝道 驶出高速 驶出当前高速 |
到达出口 到达收费站 到达途经地 到达目的地 到达目的地(在道路左侧) 到达目的地(在道路右侧) 到达入口 复杂路口右1 复杂路口右2 复杂路口右3 复杂路口右4 复杂路口右5 复杂路口左1 复杂路口左2 复杂路口左3 复杂路口左4 复杂路口左5 |
走第1个出口 走第2个出口 走第3个出口 走第4个出口 走第5个出口 走第6个出口 走第7个出口 到达途经点,走第1出口 到达途经点,走第2出口 到达途经点,走第3出口 到达途经点,走第4出口 到达途经点,走第5出口 到达途经点,走第6出口 到达途经点,走第7出口 到达途经点或目的地 注意不是右转 注意不是右后转 注意不是左转 注意不是左后转 |
上高架 不要上高架 下高架 不要下高架 上坡 下坡 不要上坡 不要下坡 上桥 下桥 不要上桥 不要下桥 走桥下 走小路 走河边 过天桥 过高架 不要走桥下 不要逆行 |
路线标签说明(result.routes[].tags[]):
v1版本签:
- “EXPERIENCE” 经验路线
- “RECOMMEND” 推荐路线
- “LEAST_LIGHT” 红绿灯少
- “LEAST_TIME” 时间最短
- “LEAST_DISTANCE” 距离最短
V2版标签(v2.0.4a新增): 采用中文标签的方式,类型更为丰富,另外增了多方案横向对比得出的相对化标签(如距离长),列表如下:
- “经验路线”
- “时间短”,“时间长”
- “距离短”,“距离长”
- “红绿灯少”,“红绿灯多”
- “拥堵少”,“拥堵多”
- “免费”,“收费”
- “收费少”,“收费多”
- “大路多”,“小路多”
- “无高速”,“走高速”
- “高速多”,“高速少”
- “拐弯少”,“拐弯多”
其它路线解释性标签:
- “FERRY” 路线中包含轮渡
- “NARROW” 包含小路
2.4 调用示例
//响应示例
{
"status": 0,
"message": "query ok",
"result": {
"routes": [
{
"mode": "TRUCKING",
"distance": 35766,
"duration": 61,
"polyline": [40.023402,116.318327,... ],
"steps": [
{
"instruction": "沿内部道路向北行驶57米,左转",
"polyline_idx": [
0,
3
],
"road_name": "内部道路",
"dir_desc": "北",
"distance": 57,
"act_desc": "左转",
"accessorial_desc": ""
},
//省略中间结果
{
"instruction": "沿内部道路向北行驶63米,",
"polyline_idx": [
584,
589
],
"road_name": "内部道路",
"dir_desc": "北",
"distance": 63,
"act_desc": "",
"accessorial_desc": ""
}
],
"tags": []
"speed": [
{
"speed": 2,
"polyline_idx": [
0,
3
],
"distance": 57,
"level": 0
},
//省略中间结果
{
"speed": 2,
"polyline_idx": [
592,
599
],
"distance": 63,
"level": 0
}
]
}
]
}
}
2.5 polyline坐标解压
polyline为数值型一维数组,格式为:
[坐标1纬度 , 坐标1经度 , 坐标2纬度 , 坐标2经度 , 坐标3纬度 , 坐标3经度…],
第一个坐标为原始未被压缩过的,之后的使用前向差分进行压缩,解压方法如下:
var coors=[127.496637,50.243916,-345,-1828,19867,-26154];
for (var i = 2; i < coors.length ; i++){
coors[i] = coors[i-2] + coors[i]/1000000
}
2.6 polyline_idx说明
下图为polyline的数组结构,路线全程的坐标点串都在polyline中, "polyline_idx"表达的是路段点串在polyline中的数组下标位置(而非坐标个数位置)的开始到结束序号,举个例子,假设某路段(steps)在polyline中是第4到第6个坐标,polyline_idx则为 “polyline_idx”: [6,11]
2.7 注意事项
起点、终点、途经点若不在道路上,会自动吸附到附近的道路上:
3、货车距离矩阵
本服务主要特点:
-
支持大批量和多种计算方式
a) 多起点*多目的地矩阵式计算,最高支持25x25矩阵(一次请求计算路面距离625对)
b) 一对多计算:支持1个起点到最多200个终点的批量计算
-
支持根据车辆规格(宽、高、重、车型等)避开不可通行道路进行路线规划
-
支持避开政策限行区域
-
支持全国同城/跨城货车批量算路,一次请求支持计算625条路线的实际行驶距离和耗时
-
支持返回实时ETA(结合路况的预估到达时间)
-
支持依据实时路况计算路线距离和耗时
-
耗时低,性能出色
计量方式: 本接口按距离的计算次数计量(非接口请求次数),分为:
-
计算次数:接口每计算一对起终点距离,计为1次
-
并发计算量:以秒为单位,一秒内计算1对起终点结果,并发计算量计1次
例如:一次接口请求计算10个起点到10个终点,计算次数为100次,假设相同调用参数同一秒内请求5次,并发计算量为100次*5次请求=500次/秒
提示:在控制台的“配额管理”和“调用统计”中,涉及本接口的调用量及并发量,均指 计算次数 和 并发计算量
3.1 请求URL
//get请求
https://apis.map.qq.com/ws/distance/v1/matrix?mode=trucking
3.2 请求参数
参数 | 必填 | 说明 | 示例 |
---|---|---|---|
from | 是 | 起点坐标 个数限制: 多对一计算<=200个,多对多计算from和to坐标数乘积<=625且单侧<=50个 格式: lat,lng[,heading];lat,lng[,heading]… 经度与纬度用英文逗号分隔,坐标间用英文分号分隔 [必填]lat为纬度,lng为经度 [选填]heading为车头方向(正北为0度,顺时针一周为360度) |
例1: from=39.071510,117.190091 例2: from=39.071510,117.190091,270;39.108951,117.279396,180 |
to | 是 | 终点坐标 个数限制: 一对多计算<=200个,多对多计算from和to坐标数乘积<=625且单侧<=50个 格式: lat,lng;lat,lng… 经度与纬度用英文逗号分隔,坐标间用英文分号分隔 |
to=39.071510,117.190091;40.007632,116.389160 |
size | 是 | 车型,依据国标分类 1: 微型车 2: 轻型车 3: 中型车 4: 重型车 |
size=2 |
height | 是 | 车辆高度,单位:米 | height=3.1 |
width | 是 | 车辆宽度,单位:米 | width=2.1 |
length | 否 | 车辆长度,单位:米 | length=5.9 |
weight | 是 | 车辆总重,单位:吨 | weight=5.4 |
axle_weight | 是 | 轴重,单位:吨 | axle_count=2.7 |
axle_count | 是 | 轴数 | axle_count=2 |
output | 否 | 输出格式:可选: json(默认) jsonp |
output=jsonp |
callback | 否 | output=jsonp的回调函数名 (适用于浏览器端调用) | callback=cb |
key | 是 | 开发key | key=YourKey |
3.3 响应结果
名称 | 类型 | 必有 | 说明 | |||
---|---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常,其它为异常,详细请参阅状态码说明 | |||
message | string | 是 | 对status的描述 | |||
result | object | 是 | 计算结果 | |||
rows | array | 是 | 多点到多点距离计算,结果为二维数组,rows为行,elements为列 结果数组(行) |
|||
elements | array | 是 | 结果数组(列) | |||
distance | number | 是 | 起点到终点的距离,单位:米 | |||
duration | number | 否 | 表示从起点到终点的结合路况的时间,单位:秒 注:步行/骑行方式(不计算耗时)以及起终点附近没有道路造成无法计算时,不返回本此节点 |
|||
status | number | 否 | 本对起终点计算的状态码,取值 4:代表附近没有路,距离计算失败,此时distance为直线距离,预估耗时(duraction)会返回 0 计算结果正常返回时,不返回status |
rows/elements结果数组结构说明:
例:计算3个起点到3个终点距离矩阵
from=A,B,C&to=1,2,3
计算结果的二维数组为,以下表格为数组结构示意,行为rows,列为elements:
[0,0]:A to 1 | [0,1]:A to 2 | [0,2]:A to 3 |
[1,0]:B to 1 | [1,1]:B to 2 | [1,2]:B to 3 |
[2,0]:C to 1 | [2,1]:C to 2 | [2,2]:C to 3 |
3.4 调用示例
//响应示例:
{
"status": 0,
"message": "query ok",
"result": {
"rows": [
{
"elements": [
{
"distance": 1813098,
"duration": 68022
},
{
"distance": 1898286,
"duration": 70554
}
]
},
{
"elements": [
{
"distance": 330431,
"duration": 13891
},
{
"distance": 376213,
"duration": 17217
}
]
}
]
}
}