浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WEB 服务API

百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。

服务介绍
服务文档
使用指南
常见问题
更新日志
路线规划服务 V2.0

路线规划服务(又名Direction API)是一套REST风格的Web服务API,以HTTP/HTTPS形式提供了路线规划服务,是Direction API V1.0的升级版本。目前,Direction API V2.0 支持公交、骑行、驾车路线规划,Direction API V2.0支持中国大陆地区。

功能介绍
公交路线规划

根据起点和终点检索符合条件的公共交通方案,融入出行策略(少换乘、地铁优先等)
支持大陆区域的同城及跨城路线规划,交通方式支持公交、地铁、火车、飞机、大巴


骑行路线规划

根据起终点坐标检索符合条件的骑行路线规划方案,支持普通自行车和电动自行车出行方式


驾车路线规划
根据起终点坐标检索符合条件的驾车路线规划方案,支持以下功能:
1. 支持一次请求返回多条路线(备用路线)
2. 支持20个以内的途径点
3. 支持传入车牌规避限行路段
4. 支持传入起点车头方向,辅助判断起点所在正逆向车道,辅助更准确算路
5. 支持传入历史出发时间,获取路线历史耗时,用于回溯历史出行耗时和预估未来出行耗时
接口功能文档
公交路线规划
http://api.map.baidu.com/direction/v2/transit?origin=40.056878,116.30815&destination=31.222965,121.505821&ak=您的AK
公交规划请求参数
字段名称 字段含义 字段类型 备注
origin 起点 "double,double",格式为:纬度,经度,小数点后不超过6位,如:“40.056878,116.30815”
必填
destination 终点 同上 同上
coord_type 起终点的坐标类型 string 可选,默认为bd09ll
可选值:
bd09ll(百度经纬度坐标)
gcj02(国测局加密坐标)
wgs84(gps 设备获取的坐标)
tactics_incity 市内公交换乘策略 int(0-5) 可选,默认为0
可选值:
0 推荐
1 少换乘
2 少步行
3 不坐地铁
4 时间短
5 地铁优先
tactics_intercity 跨城公交换乘策略 int(0-2) 可选,默认为0
可选值:
0 时间短
1 出发早
2 价格低
trans_type_intercity 跨城交通方式策略 int(0-2) 可选,默认为0
可选值:
0 火车优先
1 飞机优先
2 大巴优先
ret_coordtype 返回值的坐标类型 string 可选,默认为百度经纬度坐标:bd09ll

可选值:

bd09ll:百度经纬度坐标

gcj02:国测局坐标

output 输出类型 string 可选,默认为json
可选值:
json
xml
page_size 返回每页几条路线 int(1-10) 可选,默认为10
page_index 返回第几页 int 可选,默认为1
ak 开发者密钥,AK申请 string 必填
sn 用户的权限签名,当AK设置为SN校验时,该参数必填
SN计算方法
string 可选
timestamp 时间戳,与SN配合使用 string 可选,SN存在时必填。
callback 回调函数,用于解决浏览器请求跨域问题 string 可选,仅在 output=json时该参数有效。
公交规划返回参数
字段名称 字段含义 字段类型 备注
status 状态码 int 0:成功
1:服务器内部错误
2:参数无效
1001:没有公交方案
1002:没有匹配的POI
message 状态码对应的信息 string
result 返回的结果 dict 如果status为1001 或1002,此字段为null
origin city_id 起点城市ID string
city_name 起点城市名称 string
location lng 起点坐标的经度值 double 坐标系由ret_coordtype设置
lat 终点坐标的纬度值 double
destination city_id 终点城市ID string
city_name 终点城市名称 string
location lng 终点坐标的经度值 double 坐标系由ret_coordtype设置
lat 终点坐标的纬度值 double
taxi detail 出租车的详细信息 array 仅在同城请求时才返回
desc 白天还是夜间 string
km_price 每公里价格(元) double
start_price 起步价(元) double
total_price 总价(元) double
distance 出租车预计里程数 int
duration 出租车预计耗时 int
remark 出租车备注信息 string
total 所有路线的总数 int
符合条件的所有routes 的总数
routes 每页page_size 条,第page_index页的路线 array 请求中指定的page_index 和page_size 的部分。数组元素个数为page_size,每个元素代表从起点到终点的一条路线。
distance 本条路线的总距离(米) int
duration 本条路线的总耗时(秒) int
arrive_time 本条路线预计到达时间 string 格式为2016-04-05 17:06:10
price 本条路线的总票价(元) double 非大陆地区此字段值为null
price_detail 车票详细信息 array 起终点为大陆地区同城时此字段为一个数组,数组中的每一项都有ticket_type 和ticket_price 两个字段;
起终点为大陆跨城时,该字段为一个空的数组。
ticket_type 票类型 int(0-1) 0 公交票价;1 地铁票价
ticket_price 价格(元) double 本类型的票的总价
steps 本条路线有几个step(步骤) array 数组,数组中的每一项是一步(step)。每条路线都由多个step组成。
起终点为同城时,比如从奎科大厦到西直门分3个step,第一步是奎科大厦步行到上地五街,第二步是上地五街到上地地铁站,第三步是上地地铁站到西直门;
起终点为跨城时,比如从奎科大厦到天津大学分3个step,第一步是奎科大厦到北京南站,第二步是北京南站到天津站,第三步是天津站到天津大学。
schemes 本step 中的有几个scheme(方案)或sub_step(子步骤) array 当起终点为同城时,一个step 中可能会有多个scheme(方案),上述同城的第二步上地五街到上地地铁站可以坐205或447,每一种是一个scheme;
当起终点为跨城时,一个step 中可能会有多个sub_step(子步骤),上述跨城的第一步从奎科大厦到北京南站分为多个sub_step(子步骤),这里的每个子步骤类似同城时的一个scheme(方案)。
distance 本step 的距离(米) int
duration 本step 的耗时(秒) int
instructions 本step 的描述 string
path 本step 中的关键点坐标 string 坐标系由ret_coordtype设置,示例:“116.321858,40.039183;116.3216343,40.039141”
traffic_condition 本step 中的路况信息 array 目前无输出
start_location lng 本step 起点经度 double 坐标系由ret_coordtype设置
lat 本step 起点纬度 double
end_location lng 本step 终点经度 double 坐标系由ret_coordtype设置
lat 本step 终点纬度 double
vehicle_info type 本step 中交通方式的类型 int 1:火车
2:飞机
3:公交
4:驾车
5:步行
6:大巴
detail 交通方式的具体信息 火车、飞机、大巴、公交4 种交通方式的这个字段有各自的格式,参见下面的文档,步行和驾车为null。


火车:vehicle_info 中type=1(火车)时detail 字段格式
字段名称 字段含义 字段类型 备注
name 火车车次名称 string
price 总票价 double
booking 订票电话 string
departure_station 上车火车站名称 string
arrive_station 下车火车站名称 string
departure_time 发车时间 string 所乘的火车在上车火车站的发车时间
arrive_time 到站时间 string 所乘的火车在下车火车站的到站时间
start_info start_name string 起点站名
start_city string 起点所在城市名称
start_time string 出发时间
end_info end_name string 终点站名
end_city string 终点所在城市名称
end_time string 抵达时间


飞机:vehicle_info 中type=2(飞机)时detail 字段格式
字段名称 字段含义 字段类型 备注
name 航班名称 string
price 总票价 double
discount 折扣 double
airlines 航空公司 string
booking 订票网址 string
departure_station 登机机场名称 string
arrive_station 下飞机机场名称 string
departure_time 飞机起飞时间 string
arrive_time 飞机降落时间 string
start_info start_name string 起点站名
start_city string 起点所在城市名称
start_time string 出发时间
end_info end_name string 终点站名
end_city string 终点所在城市名称
end_time string 抵达时间


公交:vehicle_info 中type=3(公交)时detail 字段格式
字段名称 字段含义 字段类型 备注
name 公交线路名称 string
type 市内公交的具体类型 int 只有同城公交才会有此字段
0:普通日行公交车
1:地铁、轻轨
2:机场巴士(前往机场)
3:有轨电车
4:机场巴士(从机场返回)
5:旅游线路车
6:夜班车
7:机场巴士(机场之间)
8:轮渡
9:其他
10:快车
11:慢车
12:机场快轨(前往机场)
13:机场快轨(从机场返回)
14:机场轨道交通环路
stop_num 途径站点数 int
on_station 上车站点名称 string
off_station 下车站点名称 string
first_time 始发车发车时间 string 指的是从上车站点到下车站点这个方向上的始发车发车时间
last_time 末班车发车时间 string 指的是从上车站点到下车站点这个方向上的末班车发车时间
start_info start_time string 首班车时间
start_ uid string 起点poi 的 uid
start_name string 起点公交站名称
end_info end_ time string 末班车时间
end_ uid string 终点POI 的 uid
end_name string 终点公交站名称


大巴:vehicle_info 中type=6(大巴)时detail 字段格式
字段名称 字段含义 字段类型 备注
name 大巴班次名称 string
price 总票价 double
booking 订票网址 string
provider_name 合作方名称 string
provider_url 合作方官网地址 string
departure_station 上车汽车站名称 string
arrive_station 下车汽车站名称 string
departure_time 发车时间 string
arrive_time 到站时间 string
start_info start_name string 起点站名
start_city string 起点所在城市名称
start_time string 出发时间
end_info end_name string 终点站名
end_city string 终点所在城市名称
end_time string 抵达时间


骑行路线规划
http://api.map.baidu.com/direction/v2/riding?origin=40.01116,116.339303&destination=39.936404,116.452562&ak=您的AK
骑行规划请求参数

字段名称

字段含义

字段类型

是否必填

备注

origin

起点

"double,double"

起点经纬度,格式为:纬度,经度;小数点后不超过6位,40.056878,116.30815

destination

 

终点

"double,double"

终点经纬度,格式为:纬度,经度;小数点后不超过6位,40.056878,116.30815

coord_type

 

输入坐标类型

string

默认bd09ll
允许的值为:bd09ll(百度经纬度坐标)、bd09mc(百度墨卡托坐标)、gcj02(国测局加密坐标)、wgs84(gps设备获取的坐标)。

ret_coordtype

输出坐标类型

string

返回值的坐标类型,默认为百度经纬度坐标:bd09ll

可选值:

bd09ll:百度经纬度坐标

gcj02:国测局坐标

output

表示输出类型,可设置为xml或json

 string

默认为json

riding_type

骑行类型

string

默认0:0-普通  1-电动车

ak

用户的访问权限,AK申请

string


sn

用户的权限签名,当AK设置为SN校验时,该参数必填
SN计算方法

string


timestamp

时间戳,与SN配合使用

string

SN存在时必填

 

callback

回调函数,用于解决浏览器请求跨域问题

string

仅在 output=json 时,该参数有效。


骑行规划返回参数

字段名称

字段含义

备注

status

状态码

0:成功
1:服务内部错误
2:参数无效
2001:无骑行路线

message

状态码对应的信息

例如 message:"ok"

type

返回数据类型


info

版权信息

 

result

返回的结果

 

routes

distance

方案距离

单位:米

duration

线路耗时

单位:秒

steps

direction

当前道路方向角

 

distance

路段距离

单位:米

duration

路段耗时

单位:秒

instructions

路段描述

如“骑行50米“

name

该路段道路名称

如“信息路“
若道路未命名或百度地图未采集到该道路名称,则返回"无名路"

path

路段位置坐标描述

 

turn_type

行驶转向方向

如“直行”、“左前方转弯”

stepOrigin location

lng

路段起点经度

 

lat

路段起点纬度

 

stepDestination location

lng

路段终点经度

 

lat

路段终点纬度

 

originLocation

lng

路线起点经度

 

lat

路线起点纬度

 

destinationLocation

lng

路线终点经度

 

lat

路线终点纬度

 

origin

originPt

lng

起点经度

 

lat

起点纬度

destination

destinationPt

lng

终点经度

 

lat 终点纬度


驾车路线规划
http://api.map.baidu.com/direction/v2/driving?origin=40.01116,116.339303&destination=39.936404,116.452562&ak=您的AK
驾车规划请求参数

字段名称

字段含义

备注

ak

用户的访问权限,AK申请

必填

origin   

起点经纬度,小数点后不超过6位,40.056878,116.30815

必填

destination

终点经纬度,小数点后不超过6位,40.056878,116.30815

必填

origin_uid

POI 的 uid(在已知起点POI 的 uid 情况下,请尽量填写uid,将提升路线规划的准确性)

选填

destination_uid

POI 的 uid(在已知终点POI 的 uid 情况下,请尽量填写uid,将提升路线规划的准确性)

选填

waypoints

途径点坐标串,支持20个以内的有序途径点。多个途径点坐标按顺序以英文竖线符号分隔,示例: 40.465,116.314|40.232,116.352|40.121,116.453

选填

coord_type

坐标类型,可选参数,默认为bd09ll。允许的值为:bd09ll(百度经纬度坐标)、bd09mc(百度墨卡托坐标)、gcj02(国测局加密坐标)、wgs84(gps设备获取的坐标)。

选填,默认bd09II

ret_coordtype

返回结果坐标类型,默认为bd09ll,允许的值为:bd09ll(百度经纬度坐标)、gcj02(国测局加密坐标)

选填,默认bd09ll

tactics

0:默认
3:不走高速
4:高速优先
5:躲避拥堵
6:少收费
7:躲避拥堵&高速优先
8:躲避拥堵&不走高速
9:躲避拥堵&少收费
10:躲避拥堵&不走高速&少收费
11:不走高速&少收费

选填
默认0:默认策略

alternatives

是否返回备选路线
类型:string

可选值:

0:返回一条推荐路线
1:返回1-3条路线供选择

选填
默认:0

plate_number

车牌号,如 京A00022
用于规避车牌号限行路段。

  1. 1、若有规避限行区域的可选路线,则返回规避后的路线,不会返回限行路线
  2. 2、若无规避限行的可选路线(如:起终点在限行区域内,或所有符合偏好的路线都无法规避限行区域),则返回限行路线中最优路线,并在返回字段 restriction 中提示用户路段被限行

选填
不填则不作规避

ext_departure_time 更多出发时间,UNIX时间戳 字段类型 string
该字段将影响ext_duration字段的返回,用于返回路线在指定出发时间的耗时。目前支持输入过去7天内一个或多个出发时间戳(不超过12个),多个时间戳之间用","英文半角逗号隔开。示例: ext_departure_time=1526527619
ext_departure_time=1526527619,1526525384,1526523654

注:目前出发时间仅影响ext_duration字段,还不会影响路线计算和选择。即仍按照现在的路况计算并推荐路线,但将增加返回该路线在其他时间的耗时。
选填
不填则不返回ext_duration字段
注意:该功能为高级付费服务,需通过反馈平台联系工作人员开通

gps_direction

起点的车头方向。 字段类型:int64 取值范围:0-359

选填
车头方向为与正北方向夹角,该参数用于辅助判断起点所在正逆向车道,提高算路准确率。 当speed>1.5m/s且gps_direction存在时,采用该方向。gps_direction并不代表需填写从gps获取的方向,可以填入校正后的方向。请填写尽量准确的方向,其准确性很大程度决定了计算的精度。

radius

起点的定位精度,字段类型:float

选填
配合gps_direction字段使用

speed

起点车辆的行驶速度,字段类型:float

选填
配合gps_direction字段使用,当speed>1.5m/s且gps_direction存在时,采用gps_direction的方向。

output

表示输出类型,可设置为xml或json

选填
默认为json

sn

用户的权限签名,当AK设置为SN校验时,该参数必填
SN计算方法

选填

timestamp

时间戳,与SN配合使用

SN存在时必填

callback

回调函数

选填,仅再output=json时,该参数有效


驾车规划返回参数

 字段名称


字段含义

备注

status

状态码

0:成功
1:服务内部错误
2:参数无效
7:无返回结果

message

状态码对应的信息

 

result

返回的结果

 

 

restriction

限行结果提示信息

  1. 若无限行路线,则返回空
  2. 若无法规避限行,则返回限行提示信息

 

total

返回方案的总数

 

routes

返回的方案集

 

 

origin

lng

起点经度

 

lat

起点纬度

 

destination

lng

终点经度

 

lat

终点纬度

 

tag

方案标签

 

distance

方案距离,单位:米

 

duration

线路耗时,单位:秒

 

ext_duration 线路耗时(扩展),单位:秒
若设置了请求参数ext_departure_time,则返回该字段;
若ext_departure_time设置了一个或多个出发时间则以英文半角逗号","分隔返回多个扩展耗时;
若扩展耗时计算失败,则返回-1
注意:该功能为高级付费服务,需通过反馈平台联系工作人员开通
taxi_fee
出租车费用,单位:元

toll

此路线道路收费,单位:元

 此高速费为预估价格,与实际高速收费并不完全一致

toll_distance

收费路段里程,单位:米

 

steps

路线分段

 

 

leg_index

途径点序号

途径点序号为从0开始的整数,用于标识step所属的途径点路段
如:若该step属于起点至第一个途径中的路段,则其leg_index为0

direction

进入道路的角度。

枚举值,返回值在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°]

distance

step的距离信息

单位米

road_name

分段的道路名称

如“信息路“
若道路未命名或百度地图未采集到该道路名称,则返回"无名路" 

road_type

分段的道路类型

枚举值:返回0-9之间的值
0:高速路
1:城市高速路
2:国道
3:省道
4:县道
5:乡镇村道
6:其他道路
7:九级路
8:航线(轮渡)
9:行人道路

toll

分段道路收费,单位:元

 

toll_distance

分段道路收费路程,单位:米

 

toll_gate_name

收费站名称

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

toll_gate_location

lng

收费站位置:经度

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

lat

收费站位置:纬度

start_location

lng

分段起点经度

 

lat

分段起点纬度

 

end_location

lng

分段终点经度

 

lat

分段终点纬度

 

path

分段坐标

 

traffic_condition

分段路况详情

 

 

status

路况指数

0: 无路况
1: 畅通
2: 缓行
3: 拥堵
4: 非常拥堵 

geo_cnt

从当前坐标点开始,path中路况相同的坐标点个数

 

distance

距离,从当前坐标点开始path 中路况相同的距离,单位:米

注:单条线路中所有distance的和会与route的distance字段存在差异,不是完全一致





使用方法
坐标系说明
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
路线规划服务API v2.0的输入参数支持以上三种坐标系,开发者无需进行任何坐标转换,通过请求参数"coord_type"指明所使用的坐标系即可。输出参数支持国测局坐标(gcj02)和 百度坐标(bd09ll)两种坐标,通过请求参数"ret_coordtype"进行设置。
服务使用限制

服务相关配额及并发请求限制请访问开发者权益页面查看。

编码说明
API请求中需要用到中文或一些特殊字符的参数,如query、region等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成UTF-8字符的二字符十六进制值,凡是不在下表中的字符都需要进行编码。
字符集合 字符
URL非保留字
a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 - _ . ~
URL保留字
 ! * ' ( ) ; : @ & = + $ , / ? % # [ ]
如果中文参数中使用URL保留字字符的字面意思,例如:region关键字取值为"?北京",检索关键字包含一个问号,此问号也必须进行编码。
附注:
javascript中一般采用encodeURIComponent函数对特殊字符进行编码。
Java中可以使用函数URLEncoder.encode对特殊字符进行编码。
C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。
php中可以使用函数urlencode对特殊字符进行编码。
服务常见问题
1、路线规划API的使用配额/并发满了要怎么办?

路线规划API服务与其他API服务一样,具有每天使用配额和并发次数的限制。如果您的使用配额或并发不能满足业务使用需求,可以通过认证个人/企业开发者的方式,提升配额。如果您已经是企业认证开发者,配额/并发依然不够使用,可在配额提升页面中获取更高配额。

2016年9月5日

V2.0

2017年1月3日

V2.0

2017年4月6日

V2.0

2017年12月28日

V2.0

2018年6月11日

V2.1

2018年7月13日

V2.2

产品上线

开放公交换乘方案的线路数据,全面支持跨城公交。在公交和地铁的基础上,同时支持火车、飞机、城际大巴多种公共出行方式。

新增字段

vehicle_info中新增 start_info 和 end_info,返回该 step 起终点详细信息。

新增字段

请求参数新增 ret_coordtype 字段(支持百度和国测局坐标),用于控制返回值的坐标类型,如 path等。

新增功能

新增驾车路线规划,支持返回多路线,支持规避车牌限行路段

新增骑行路线规划,支持电动车骑行出行方式

新增功能

1. 驾车路线规划新增输入起点车头方向功能,该功能通过行驶的车头方向、车行速度、定位精度三个字段辅助判断起点所在道路的正逆向(例如:在道路的南向北方向),从而实现更准确的算路,支持网约车等行业实现更精准的司机到达时间和距离计算。

2. 驾车路线规划新增途径点功能,支持20个有序途径点。

新增功能

1. 驾车路线规划新增历史耗时功能,通过ext_departure_time输入历史7天内任意出发时刻,服务将根据对历史路况的挖掘,返回路线在指定时刻的耗时预估ext_duration。该功能可应用于预约出行耗时预估场景,如网约车、上门服务等行业预估预约订单的出行耗时。注:若需试用该功能,请通过反馈平台申请开通权限