百度地图开放平台
更新时间: 2026/11/02 10:46
小客车标准导航 - 行中偏航
下载开发文档
接口说明

进入导航后,当客户端判断车辆已偏离当前路线(偏航)时,立即调用该接口,以车辆当前位置为起点重新规划路线,向司机推荐新的导航路线。支持以下功能:
1. 以车辆当前位置(origin)为起点重新算路,并结合当前行驶的路线(route_id)给出新的推荐路线
2. 支持传入前序轨迹点、车速、车头方向、定位精度等信息,准确判断车辆所在道路及行驶方向,避免绑错路(建议偏航请求都传入前序轨迹点)
3. 支持同时返回多条路线(alternatives)
4. 支持传入算路策略、车牌号、车辆类型等参数,保持用户的路线偏好并规避限行
5. 支持经验轨迹还原(trajectory_sid)
该接口同样支持以下进阶能力(为高级子功能,需开通高级权限后使用),返回的路线中可同步下发对应数据:
• 导航引导扩展信息:返回路口放大图、引导语音、车信、高快速面板、红绿灯等导航引导数据
• 扩展数据下发:返回服务区、电子眼、动态事件、link道路属性、沿途搜等扩展数据
注:使用行中偏航前,需在行前算路时传入 state 参数开启行中导航,服务端才会保存路线信息,详见行中导航。偏航后建议再发起一次行中刷新(ts_src=5),以获取最新路况和备选路线。

API服务地址
行中偏航

https://api.map.baidu.com/api_navigate/v1/yaw?parameters
//GET请求

注意:parameters 代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。下面的列表枚举了这些参数及其使用规则。
请求参数
参数名参数含义必选类型规则说明

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

intelligent_plan

途经点智能排序

否

int

0:不开启智能规划 [默认值]

1:开启智能规划;配合waypoints使用,将多个途经点合理排序,智能规划

注:该功能为高级子功能,需通过工单联系工作人员开通

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存在时必填

walkinfo

返回起点和终点步行导航路线

否

int32

例如:终点的孤岛上时,车无法过去,可以给出步行导航路线(包含轮渡)

0:不返回起点和终点的步行导航路线

1:返回起点和终点的步行导航路线

state

请求类型

否

int

如果算完路后,还需要调用其他API做行中导航。需指定该值为0。指定该值后,服务端会保存和维护整个导航过程中的session状态。

取值:

0:行前算路

1:行中刷新

2:行中偏航

3:行中切换路线

4:行中切换路线,不下发诱导(如果客户端已经拉取过诱导,司机又来回切换路线的话,需要调用state=4;目前服务端会记录切换路线的行为,后续服务端也可能做改动;建议跟百度地图app保持一样的调用逻辑)

传参说明:

1. 初始算路时(用户首次开始路线规划,未开始导航):传state=0,百度会下发多条路线

2. 导航过程中,分两种情况:(1)每两分钟请求一次state=1 刷新路况、ETA;(2)如果判断用户发生偏航,立即发起一次state=2 偏航算路请求

备注:

如果要使用行中算路的功能(刷新路况、偏航算路),则所有请求(包括首次起点算路),必须都传入state参数,否则服务端不会保存路线信息,将无法使用行中算路的功能。

用户需保证仅车机导航场景的算路,才传入state参数,其他使用场景不要传入state参数,否则将占用百度的存储空间。

state=1 如果添加了 alternatives=1 时可以下发多条路线:

• 如果设置ext_info & 0x20 != 0,备选路线会下发全量诱导数据;端上如果要切换路线,则调用一次state=4。异常处理:API返回结果中使用 has_guidance 字段标识路线是否已经有诱导数据;如果发现该字段为false,端上可以调用state=3重新拉取一下这条路线的诱导数据。

• 如果设置ext_info & 0x20 == 0,备选路线不会下发诱导数据;端上如果要切换路线,则通过调用state=3拉取诱导并切换路线。

【注】state=1 和 state=2 如果异常(例如:传入的route_id已经失效),API会走重新算路的逻辑;state=3/4 如果有异常,直接返回错误码。

【诱导数据下发情况】

• state=0:如果传入 extensions=guidance 就会下发所有路线的全量诱导数据。

• state=1:1)所有路线都没有发生变化 或者 主路线没变而备选路线发生变化:需同时满足 ext_info & 0x20 > 0、这条路线没有制作过诱导数据或route_id不在传入参数cur_routes列表中、传入参数extensions=guidance,才会下发这条路线的诱导数据;2)主路线发生变化:如果服务返回的 api_restype==2,主路线默认下发诱导,备选路线诱导下发逻辑同1);如果 api_restype 是其他值,服务会走state=0的逻辑。

• state=2 偏航算路:如果传入 extensions=guidance 就会下发所有路线的全量诱导数据。

• state=3 切换路线:服务只下发这条路线以及它的诱导数据。

注:行中导航能力为高级子功能,需通过工单联系工作人员开通

output

返回结果格式类型

否

string

可选值:json

callback

回调函数

否

string

callback 值是用户定义的函数名称,此参数只在 output 参数设置为 JSON 时有效。

origin_bind_aoi

指定起点绑路使用AOI引导点

否

int

0:不走AOI引导 [默认值]

1:使用AOI引导点

trajectory_sid

经验轨迹的路线id

否

string

仅在行前算路/行中偏航生效。

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时,该参数不生效。

route_id

路线id

否

string

行前算路会返回每条路线的route_id,行中的请求需要传入该字段。

刷新和偏航:传司机端当前的路线;

切换路线:传目标路线的route_id

car_vendor

车厂

否

string

car_model

车型

否

string

返回参数
参数名称字段含义字段类型说明

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:命中

路线分段step结构
参数名称字段含义字段类型说明

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

只有在进收费站和出收费站时才有

小黄条yellow_tip结构
参数名称字段含义字段类型说明

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类型)

上一篇

行中刷新

下一篇

行中切换路线
本篇文章对您是否有帮助?