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(坐标),但是当目的地无引导点数据或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: 参考实时路况,高速优先,尽量躲避拥堵 10:不参考实时路况,距离尽量短 |
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 | 是 | 状态说明 | ||||
request_id | string | 是 | 本次请求的唯一标识,由系统自动生成,用于追查结果有异常时使用 | ||||
result | object | 是 | 计算结果 | ||||
routes | array | 是 | 路线方案,默认返回一条,当输入参数get_mp=1时可返回最多三条方案供用户备选 | ||||
mode | string | 是 | 路线方案(TRUCKING) | ||||
tags | array | 是 | 方案标签,表明方案特色,详细说明见下文,无标签时为空数组 | ||||
distance | number | 是 | 方案总距离,单位:米 | ||||
duration | number | 是 | 方案估算时间(含路况),单位:分钟 | ||||
traffic_light_count | number | 是 | 方案途经红绿灯个数 | ||||
toll | number | 是 | 高速过路费,单位:元 | ||||
polyline | array | 否 | 路线坐标点串 (该点串经过压缩,解压请参考:polyline 坐标解压) 当no_polyline=0时才返回 |
||||
restriction | object | 否 | 限行信息 | ||||
status | number | 否 | 限行状态码: 0 途经没有限行城市,或路线方案未涉及限行区域 (废弃,仅供参考) 1 途经包含有限行的城市 (废弃,仅供参考) 3 [设置车牌] 已避让限行 4 [设置车牌] 无法避开限行区域(本方案包含限行路段) |
||||
waypoints | array | 否 | 途径点信息,请求传入途径点时返回 | ||||
name | string | 是 | 途径点吸附的位置所在道路名称 | ||||
location | object | 是 | 途径点吸附的所在经纬度信息 | ||||
lat | number | 是 | 途径点吸附的纬度 | ||||
lng | number | 是 | 途径点吸附的经度 | ||||
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” 路线中包含轮渡 (注意:规划结果最多返回3条路线方案,如不期望规划轮渡路线,可以通过方案中的此标签做过滤,如果只有一条路线且存在此标签,表示轮渡路线无法避开。)
- “NARROW” 包含小路
2.4 调用示例
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、货车距离矩阵
温馨提示:普通版本后续不再接入新用户由高性能版替代,已经接入的用户可正常使用。普通文档入口
3.1 高性能版本
概述
本服务提供基于货车的批量距离及预估到达时间的计算能力,主要功能特点包括:
1.支持大批量和多种计算方式
a) 多起点*多目的地矩阵式计算,最高支持25x25矩阵(一次请求计算路面距离625对)
b) 一对多计算:支持1个起点到最多200个终点的批量计算
2.支持多种车型(持续增加支持更多车型)
3.支持跨城远距离计算
4.接口耗时低,性能出色
计量方式:
本接口按距离的计算次数计量(非接口请求次数),分为:
计算次数: 接口每计算一对起终点距离,计为1次
并发计算量: 以秒为单位,一秒内计算1对起终点结果,并发计算量计1次
例如: 一次接口请求计算10个起点到10个终点,计算次数为100次,假设相同调用参数同一秒内请求5次,并发计算量为100次*5次请求=500次/秒
提示: 在控制台的“配额管理”和“调用统计”中,涉及本接口的调用量及并发量,均指 计算次数 和 并发计算量
3.1.1 请求URL
//get请求
https://apis.map.qq.com/ws/distance/v1/matrix?mode=trucking_hp
3.1.2 请求参数
参数 | 必填 | 说明 | 示例 |
---|---|---|---|
key | 是 | 开发者调用服务的身份标识 ,可在控制台Key管理界面自行创建,且需要开启WebServiceAPI功能。(使用的key要具备调用本接口的权限及配额) | key=YourKey |
mode | 是 | 算路模式,货车矩阵高性能版请固定赋值:trucking_hp | mode=trucking_hp |
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 | 是 | 车型,依据国标分类,目前支持 3: 中型车 4: 重型车 (其它车型后续会逐步增加支持) 注意:当size=3或4时,如下的车辆信息参数需要固定填写,参考如下size参数对应的说明和示例 |
size=3 示例: size=3&height=4&width=2.35&length=6.8&weight=18&axle_weight=6&axle_count=3&load=8 size=4 示例: size=4&height=4&width=2.35&length=9.6&weight=31&axle_weight=8&axle_count=4&load=18 |
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 |
load | 是 | 核定载重,单位:吨 | load=8 |
3.1.3 响应结果
名称 | 类型 | 必有 | 说明 | |||
---|---|---|---|---|---|---|
status | number | 是 | 状态码,0为正常,其它为异常,详细请参阅状态码说明 | |||
message | string | 是 | 对status的描述 | |||
result | object | 是 | 计算结果 | |||
rows | array | 是 | 多点到多点距离计算,结果为二维数组,rows为行,elements为列 结果数组(行) |
|||
elements | array | 是 | 结果数组(列) | |||
distance | number | 是 | 起点到终点的距离,单位:米 | |||
status | number | 否 | 本对起终点计算的状态码,取值 4:代表附近没有路,距离计算失败,此时distance为直线距离,预估耗时(duraction)将不返回 计算结果正常返回时,不返回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.1.4 调用示例
3.2 普通版本
温馨提示:普通版本后续不再接入新用户由高性能版替代,已经接入的用户可正常使用。高性能版入口
本服务主要特点:
-
支持大批量和多种计算方式
a) 多起点*多目的地矩阵式计算,最高支持25x25矩阵(一次请求计算路面距离625对)
b) 一对多计算:支持1个起点到最多200个终点的批量计算
-
支持根据车辆规格(宽、高、重、车型等)避开不可通行道路进行路线规划
-
支持避开政策限行区域
-
支持全国同城/跨城货车批量算路,一次请求支持计算625条路线的实际行驶距离和耗时
-
支持返回实时ETA(结合路况的预估到达时间)
-
支持依据实时路况计算路线距离和耗时
-
耗时低,性能出色
计量方式: 本接口按距离的计算次数计量(非接口请求次数),分为:
-
计算次数:接口每计算一对起终点距离,计为1次
-
并发计算量:以秒为单位,一秒内计算1对起终点结果,并发计算量计1次
例如:一次接口请求计算10个起点到10个终点,计算次数为100次,假设相同调用参数同一秒内请求5次,并发计算量为100次*5次请求=500次/秒
提示:在控制台的“配额管理”和“调用统计”中,涉及本接口的调用量及并发量,均指 计算次数 和 并发计算量
3.2.1 请求URL
//get请求
https://apis.map.qq.com/ws/distance/v1/matrix?mode=trucking
3.2.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.2.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 |