根据起终点坐标,为小客车规划符合条件的导航路线。支持以下功能:
1. 支持一次请求返回1-3条路线,供用户选择(alternatives)
2. 支持18个以内的有序途经点
3. 支持多种算路策略,如时间优先、距离最短、躲避拥堵、不走高速、高速优先、少收费等
4. 支持传入车牌号与车辆类型(燃油车/纯电动/插电混动),规避限行路段
5. 支持传入车头方向、车速、定位精度、前序轨迹点、起终点道路类型及指定linkid,提升起终点绑路的准确性
6. 支持返回起点和终点的步行导航路线(如终点在车辆无法到达的孤岛上)
7. 支持返回路线的路况、过路费、红绿灯数量、路线标签,以及限行、窄路等风险提醒(小黄条)
8. 支持经验轨迹还原、避开指定禁行区等定制化算路
以下能力为高级子功能,需开通高级权限后使用,点击可查看详细说明:
1. 途经点智能排序:传入多个途经点时自动调整途经点顺序,给出更优路线
2. 未来出行时间:指定未来7天内的出发时间,按预测路况和限行规则规划路线及耗时
3. 历史ETA:返回路线在过去7天指定出发时间的历史耗时
4. 建议出发时间:根据期望到达时间,返回建议出发时间
5. 导航引导扩展信息:返回路口放大图、引导语音、车信、高快速面板、红绿灯等导航引导数据
6. 扩展数据下发:返回服务区、电子眼、动态事件、link道路属性、沿途搜等扩展数据
7. 行中导航:在服务端保存导航session,支持后续行中刷新、偏航、切换路线
8. 存储session:存储本次算路的session,供沿途搜、经验轨迹等能力使用
https://api.map.baidu.com/api_navigate/v1/route_plan?parameters
//GET请求
| 参数名 | 参数含义 | 必选 | 类型 | 规则说明 |
|---|---|---|---|---|
参数名 | 参数含义 | 必选 | 类型 | 规则说明 |
ak | AK | 否 | string | 用户的访问权限,AK申请 备注:webapi的流量必填 |
token | token | 否 | string | 备注:sdk的流量必填 |
sign | sign | 否 | string | 备注:sdk的流量必填 |
origin | 起点坐标 | 是 | string | 纬度在前,经度在后,经度和纬度用","分割,经纬度小数点后不得超过6位。 |
destination | 终点坐标 | 是 | string | 纬度在前,经度在后,经度和纬度用","分割,经纬度小数点后不得超过6位。 |
origin_uid | 起点 POI 的 UID | 否 | string | 在已知起点POI 的 uid 情况下,请尽量填写uid,将提升路线规划的准确性 备注:我们针对海量POI建设有导航引导点,如果填写了该参数,将引导到更合理的位置,路线也将更加合理。 |
destination_uid | 终点 POI 的 UID | 否 | string | 在已知终点POI 的 uid 情况下,请尽量填写uid,将提升路线规划的准确性 备注:我们针对海量POI建设有导航引导点,如果填写了该参数,将引导到更合理的位置,路线也将更加合理。 |
origin_road_type | 起点道路类型 | 否 | int | 0 普通道路 [默认,绑路策略不参考此入参] 1 高架上; 2 高架下; 3 主路; 4 辅路(高速和匝道切换其实相当于主辅路切换); 备注:如果同时传入前序轨迹点和origin_road_type;绑路会以origin_road_type为准 |
dest_road_type | 终点道路类型 | 否 | int | 0:普通道路 [默认,绑路策略不参考此入参] 1:高架; 2:高速; 3:隧道; 4:匝道 |
origin_bind_strategy | 起点绑路策略 | 否 | int | 0:绑路策略不参考此入参 [默认值] 1:起点不绑封闭道路 |
dest_bind_strategy | 终点绑路策略 | 否 | int | 0:绑路策略不参考此入参 [默认值] 1:终点不绑封闭道路 |
specify_linkid | 指定起点绑路的linkid | 否 | int | 指定当前位置所在的linkid;如果linkid在百度路网中可以找到;绑路直接使用该link 数据规格:specify_linkid = 原始linkid * 10 + 方向符号 方向符号的计算方法:单向通行link值为0;双向顺行值为0;双向逆行值为1 备注:如果指定linkid,如果百度能找到这个link,会直接使用该link |
waypoints | 途经点坐标 | 否 | string | 最多支持18个以内的有序途经点。多个途经点坐标按顺序以英文竖线符号分隔, 示例: 40.465,116.314|40.232,116.352|40.121,116.453 |
coord_type | 传入参数的坐标类型 | 否 | string | bd09ll:百度经纬度坐标 [默认值] bd09mc:百度墨卡托坐标 gcj02:国测局加密坐标) wgs84:gps设备获取的坐标 |
ret_coordtype | 返回结果坐标类型 | 否 | string | bd09ll:百度经纬度坐标 [默认值] gcj02:国测局加密坐标 |
tactics | 算路策略 | 否 | int | 0:综合时间、距离、拥堵等因素返回一条最优路线 [默认值] 2:距离最短(只返回一条路线,不考虑限行和路况,距离最短且稳定,可用于估价场景) 3:不走高速 4:高速优先 5:躲避拥堵 6:少收费 7: 躲避拥堵 & 高速优先 8: 躲避拥堵 & 不走高速 9: 躲避拥堵 & 少收费 10: 躲避拥堵 & 不走高速 & 少收费 11: 不走高速 & 少收费 12: 距离优先 13:时间优先 14:时间最短(只返回一条路线,不考虑实时路况,性能较高且稳定,可用于估价场景) |
special | 是否避开轮渡 | 否 | int | 0:不生效 [默认值] 1:避开轮渡;有轮渡的情况尽量避开;有轮渡无法避开的情况, 才出轮渡; |
cartype | 车辆类型 | 否 | int | 0:普通汽车 [默认值] 1:纯电动汽车 2:插电混动车 备注:用于区分车辆是普通燃油车或纯电动汽车。由于部分城市对燃油车和电动车限行规则有差异,该字段用于结合plate_number车牌号来规避限行。例如:纯电动汽车在北京本地无尾号限行,而燃油车需遵守尾号限行。 |
plate_number | 车牌号 | 否 | string | 用于规避车牌号限行路段。 示例:京A00022 备注: 1. 若有规避限行区域的可选路线,则返回规避后的路线,不会返回限行路线 2. 若无规避限行的可选路线(如:起终点在限行区域内,或所有符合偏好的路线都无法规避限行区域),则返回限行路线中最优路线,并在返回字段 restriction 中提示用户路段被限行 |
alternatives | 是否返回备选路线 | 否 | int | 0:返回一条推荐路线 [默认值] 1:返回1-3条路线供选择 |
gps_direction | 车头方向 | 否 | int | 取值范围:0-359 车头方向为与正北方向顺时针夹角,用于辅助判断起点所在正逆向车道,提升起点绑路的准确度。 配合speed使用,当speed>=2米/秒时生效。 备注:gps_direction并不代表需填写从gps获取的方向,可以填入校正后的方向。请填写尽量准确的方向,其准确性很大程度决定了计算的精度。 |
radius | 定位精度 | 否 | float | 取值范围[0,2000] |
speed | 车辆的行驶速度 | 否 | float | 小数点后不得超过2位,单位:米/秒 |
location_data | 前序轨迹点 | 否 | string | 可传入最多25个点,可用于提升绑路准确性。 连续两点间的距离>2m,点越多绑路越准;前向轨迹点最后一个点和起点距离应小于<200m。 点的顺序由远到近,即 序列的最后一个点为当前点。 一组轨迹点包含以下信息: • 经度 (坐标类型由coord_type参数指定) • 纬度 (坐标类型由coord_type参数指定) • 绑路后的经度(坐标类型由coord_type参数指定)默认值填写0 • 绑路后的纬度(坐标类型由coord_type参数指定)默认值填写0 • 海拔高度 (字段类型:int, 参考范围 0-5000) 默认值填写0 • 速度 (字段类型:int, 参考范围 0-56 米/秒) • 方向 (字段类型:int, 参考范围 0-359) • 定位精度半径(字段类型:int, 参考范围 0-2000 米) 默认值填写10 • 定位类型(字段类型:int, 0 无效 1 gps 2 wifi) 默认填写0 • 室内外(字段类型:int, 0 无效 1室内 2 室外) 默认值填写0 • 卫星个数(字段类型:int)默认值填写0 • 时间戳(字段类型:int,单位:秒) 示例: 117.148152,39.16029,117.148141,39.16010,82,10,270,46,1,2,4,1595591245; 117.148121,39.160283,117.148111,39.160283,82,10,270,46,1,2,4,1595591246; 117.148053,39.16029,117.148053,39.16029,82,10,270,46,1,2,4,1595591247; 117.147959,39.160293,117.147944,39.160288,82,10,270,46,1,2,4,1595591248; 117.147927,39.160283,117.147915,39.160271,82,10,270,46,1,2,4,1595591249; 117.14786,39.160283,117.14775,39.160277,82,10,270,46,1,2,4,1595591250; 117.147779,39.160279,117.147765,39.160268,82,10,270,46,1,2,4,1595591251; 117.147739,39.160293,117.147749,39.160263,82,10,270,46,1,2,4,1595591252; 117.147662,39.160262,117.147652,39.160272,82,10,270,46,1,2,4,1595591353; 说明: (1)起点静止算路:location_data期望传入上次熄火前的定位点序列。(因为车辆刚启动时可能定位漂移比较严重) (2)行中的话,建议 刷新路况 和 偏航请求都传入轨迹点;因为这两个请求都可能算新路线。 |
sn | 用户的权限签名 | 否 | string | 当AK设置为SN校验时,该参数必填SN计算方法 |
timestamp | 时间戳,与SN配合使用 | 否 | int | SN存在时必填 |
ext_info | 扩展功能选项 | 否 | uint64 | 用于控制扩展数据的下发,如果需要多种数据,可以使用下列几个值做或操作。 0x01:指定不制作诱导(可提高算路性能) 0x100:裁剪部分路线,提升算路性能 推荐:对算路性能要求较高的场景,建议传入该参数。不需要导航诱导数据时可传 0x01;可接受裁剪部分路线时可传 0x100;两者组合使用可传 ext_info=257(即 0x01 | 0x100)。 |
walkinfo | 返回起点和终点步行导航路线 | 否 | int32 | 例如:终点的孤岛上时,车无法过去,可以给出步行导航路线(包含轮渡) 0:不返回起点和终点的步行导航路线 1:返回起点和终点的步行导航路线 |
output | 返回结果格式类型 | 否 | string | 可选值:json |
callback | 回调函数 | 否 | string | callback 值是用户定义的函数名称,此参数只在 output 参数设置为 JSON 时有效。 |
origin_bind_aoi | 指定起点绑路使用AOI引导点 | 否 | int | 0:不走AOI引导 [默认值] 1:使用AOI引导点 |
store_session | 是否存储session | 否 | int | 0:不存储session [默认值] 1:存储session 使用沿途搜数据(ext_info & 0x200)、经验轨迹(trajectory_sid)时,需同时传入 store_session=1 注:该功能为高级子功能,需通过工单联系工作人员开通 |
trajectory_sid | 经验轨迹的路线id | 否 | string | 仅在行前算路/行中偏航生效。 注:使用该功能需同时传入 store_session=1,并开通相应的高级权限。 |
trajectory_type | 经验轨迹还原类型 | 否 | string | 需配合trajectory_sid使用,trajectory_sid必传,trajectory_type支持如下枚举类型: 512:原始路线,不做任何变动 [默认值] 1024:原始路线根据实际起点、终点进行优化拼接 2048:需传入切入点。从车辆起点算路至切入点(如果切入点不在还原路线上,需垂足投影),然后拼接路线切入点至终点 4096:从车辆起点位置垂足至还原路线投影,基于垂足点所在link起点作为切入点。从车辆位置点算路至切入点,然后拼接路线切入点至终点 |
trajectory_point | 经验轨迹切入点 | 否 | string | 当trajectory_type=2048时,该参数要求必传; 当trajectory_type=512/1024/4096时,该参数不生效。 |
car_vendor | 车厂 | 否 | string | |
car_model | 车型 | 否 | string | |
rule_ids | 需要避开的禁行区id | 否 | string | 多个禁行区id之间用英文逗号分隔(需要提前在慧图平台上传对应的禁行区) 备注:需要指定tactics=15才可以生效,目前只有行前算路支持 |
avoid_link_list | 需要避开的linkids | 否 | string | 多个linkid之间用英文逗号分隔 备注:目前只有行前算路支持 |
| 参数名称 | 字段含义 | 字段类型 | 说明 | ||||
|---|---|---|---|---|---|---|---|
参数名称 | 返回参数2 | 返回参数3 | 返回参数4 | 返回参数5 | 字段含义 | 字段类型 | 说明 |
status | 状态码 | int | 0:成功 1:服务内部错误(用户可以重试一次) 2:参数错误 9001:服务错误(用户不需重试) 其他错误码参考:https://lbsyun.baidu.com/faq/api?title=webapi/appendix | ||||
message | 状态值的说明 | string | |||||
result | object | ||||||
restriction | 限行结果提示 | string | 1. 若无限行路线,则返回空 2. 若无法规避限行,则返回限行提示信息 | ||||
yellow_tip | 全局小黄条(如:终点在限行区域) | array | 参考下文中的 "小黄条 yellow_tip结构" | ||||
total | 返回的路线数量 | int | |||||
session_id | 算路返回的session_id | string | 调用路线信息查询(route_query)时需要传入该值 | ||||
origin | 起点 | object | |||||
lat | 纬度 | double | |||||
lng | 经度 | double | |||||
destination | 终点 | object | |||||
lat | 纬度 | double | |||||
lng | 经度 | double | |||||
waypoints | 途经点列表 | array | |||||
lat | 纬度 | double | |||||
lng | 经度 | double | |||||
origin_idx | 对应的原始的途经点索引,从1开始计数 | int | 如果没有下发这个字段,则说明与原途经点顺序一致 | ||||
start_walk | 起点步导路线 | array | |||||
distance | 路线距离 | int | |||||
pts | 坐标点序列;多个坐标之间用分号分隔 | string | |||||
route_md5 | 与routes数组中的route_md5匹配 | string | |||||
end_walk | 终点步导路线 | array | |||||
distance | 路线距离 | int | |||||
pts | 坐标点序列;多个坐标之间用分号分隔 | string | |||||
route_md5 | 与routes数组中的route_md5匹配 | string | |||||
routes | 路线集合 | array | |||||
origin | 路线的起点 | object | |||||
destination | 路线的终点 | object | |||||
route_id | 路线唯一标识 | string | |||||
route_md5 | 路线md5 | string | |||||
mrsl | mrsl | string | 路线信息查询(route_query)时需要传入该值 | ||||
distance | 路线距离 | int | 单位:米 | ||||
duration | 路线耗时 | int | 单位:秒 | ||||
traffic_light | 路线上的红绿灯数量 | int | |||||
taxi_fee | 出租车费用 | int | 单位:元 | ||||
toll | 过路费 | int | 单位:元 此高速费为预估价格,与实际高速收费并不完全一致 | ||||
toll_distance | 收费路段里程 | int | 单位:米 | ||||
tag | 路线标签 | string | 例如:“红绿灯少”、“距离短”、“方案三” | ||||
score | 路线评分 | float | 分值越大,路线相对越优。 | ||||
yellow_tip | 路线上的小黄条(路线限行提醒) | array | 参考下文中的 "小黄条 yellow_tip结构" | ||||
steps | 路线分段数据 | array | 参考下文中的 “路线分段 step结构” | ||||
route_source | 智驾友好路线标识 | int | 0:未命中 1:命中 | ||||
| 参数名称 | 字段含义 | 字段类型 | 说明 | ||||
|---|---|---|---|---|---|---|---|
参数名称 | 返回参数2 | 返回参数3 | 返回参数4 | 返回参数5 | 字段含义 | 字段类型 | 说明 |
start_location | step的起点坐标 | object | |||||
end_location | step的终点坐标 | object | |||||
leg_index | 途经点序号 | int | 途经点序号为从0开始的整数,用于标识step所属的途经点路段。 如:若该step属于起点至第一个途经点的路段,则其leg_index为0 | ||||
start_link_index | step起点link索引 | int | |||||
end_link_index | step终点link索引 | int | |||||
distance | step的距离信息 | int | 单位:米 | ||||
duration | step的耗时 | int | 单位:秒 | ||||
road_name | 道路名称 | string | 如“信息路“ 若道路未命名或百度地图未采集到该道路名称,则返回"无名路" | ||||
instruction | step转向描述 | string | |||||
road_type | 道路类型 | int | 枚举值:返回0-9之间的值 0:高速路 1:城市高速路 2:国道 3:省道 4:县道 5:乡镇村道 6:其他道路 7:九级路 8:航线(轮渡) 9:行人道路 | ||||
path | step的坐标点序列 | string | 多个坐标点之间用';'分隔,单个坐标的经纬度之间用','分隔 | ||||
traffic_condition | step的路况详情 | array | |||||
status | 路况指数 | int | 0: 无路况 1: 畅通 2: 缓行 3: 拥堵 4: 非常拥堵 | ||||
geo_cnt | 从当前坐标点开始,path中路况相同的坐标点个数 | int | |||||
distance | 距离,从当前坐标点开始path 中路况相同的距离 | float | 单位:米 注:单条线路中所有distance的和会与route的distance字段存在差异,不是完全一致 | ||||
adcodes | step途经的城市编码 | string | 若途经多个城市,则adcode以英文半角逗号相隔 如:110000,120000 | ||||
link_num | step包含link个数 | int | 可以和linkids配合使用,确认当前step包含的linkid序列 | ||||
direction | 进入道路的角度 | int | 枚举值,返回值在0-11之间的一个值,共12个枚举值,以30度递进,即每个值代表角度范围为30度;其中返回"0"代表345度到15度,以此类推,返回"11"代表315度到345度";分别代表的含义是:0-[345°-15°];1-[15°-45°];2-[45°-75°];3-[75°-105°];4-[105°-135°];5-[135°-165°];6-[165°-195°];7-[195°-225°];8-[225°-255°];9-[255°-285°];10-[285°-315°];11-[315°-345°] 注:角度为与正北方向顺时针夹角 | ||||
toll | step的过路费 | int | 单位:元 因一个收费路段可能覆盖多个step,部分情况下费用无法按step准确拆分,故分段step收费可能存在不准确情况 | ||||
toll_distance | step的收费路段里程 | int | 单位:米 | ||||
toll_gate_name | 收费站名称 | string | 只有在进收费站和出收费站时才有 | ||||
toll_gate_location | 收费站位置 | object | 只有在进收费站和出收费站时才有 | ||||
| 参数名称 | 字段含义 | 字段类型 | 说明 | ||||
|---|---|---|---|---|---|---|---|
参数名称 | 返回参数2 | 返回参数3 | 返回参数4 | 返回参数5 | 字段含义 | 字段类型 | 说明 |
yellow_tip | 小黄条 | array | • 【黄条】算路页展示的黄条会将 路线上 和 全局的小黄条列表 按照 priority 排序,选出一个优先级最高的黄条的title来展示。 • 【小度条】算路页展示的小度条,在客户端上会轮播切换展示,轮播每个group的 tag_info。 | ||||
type | 0:黄条(风险警示,与用户是否可以顺利出行有关) 1:路线印象(消除顾虑/告知优势/惊喜点信息感知,针对路线本身质量的解释) 11:小度条(用于强调路线优势或中性内容) | int32 | 数组中,各个类型,最多只有一个。 示例: ![]() ![]() ![]() | ||||
group | 分组(同类型的做一个分组) | array | |||||
tag | 同一类型的黄条聚合后展示的标签 | string | ![]() | ||||
tag_info | 同一类型的黄条聚合后展示的内容 | string | ![]() | ||||
tips | array | ||||||
tip_id | 唯一标识ID | int32 | 可支持的类型列表见附录 示例:74(表示:窄路无法避开) | ||||
priority | 优先级 | int32 | 对于type=0的小黄条,priority值越小优先级越高。 对于type=11的小度条,priority值越大优先级越高. | ||||
back_color | 背景颜色 | int32 | 0:黄色(默认) 1:白色 2:红色 4:绿色 5:蓝色 | ||||
title | 单个黄条标题 | string | 示例:“胡韦线道路狭窄,请注意行车安全” | ||||
first_line | 第一行文案 | string | ![]() | ||||
second_line | 对应手图第二行文案 | array(数组成员是string类型) | ![]() | ||||
event_id | 黄条关联的事件id | int64 | 黄条对应的事件; 跟event_list中的事件id可以对应 | ||||
traffic_limit_info_id | 黄条关联的限行情报ID列表,可以使用这个ID调用限行查询接口查询详细的交限信息 | array(数组成员是string类型) | |||||
上一篇
下一篇