您当前的位置: Web服务API > Direction API v2.0
Direction API v2.0

产品介绍

Direction API v2.0是一套REST风格的Web服务API,以HTTP/HTTPS形式提供了线路规划功能,是Direction API v1.0的升级版本。

目前,Direction API v2.0率先对外开放了公交线路规划功能,升级内容如下:


全面支持跨城公交路线规划


支持 公交、地铁、火车、飞机、城际大巴多种公共出行方式。

该套API免费对外开放,您需先申请密钥(ak),未认证开发者默认支持2000次/天(与Direction API v1.0共享配额,http和https共享配额),若需更高配额,请申请开发者认证获取更高配额以及更优技术支持.

坐标系说明

目前中国主要有以下三种坐标系:


① WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系


②GCJ02:表示经过国测局加密的坐标


③ BD09:为百度坐标系,其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标


Direction API v2.0的输入参数支持以上三种坐标系,开发者无需进行任何坐标转换,通过请求参数"coord_type"指明所使用的坐标系即可。输出参数支持国测局坐标(gcj02)和 百度坐标(bd09ll)两种坐标,通过请求参数"ret_coordtype"进行设置。

功能介绍

公交线路规划:根据起点和终点检索符合条件的公共交通方案,支持大陆区域的同城及跨城路线规划,交通方式支持公交、地铁、火车、飞机、大巴。

使用方法

第一步,申请密钥(ak) ,作为访问服务的依据;

第二步,拼写发送http请求的url,注意需使用第一步申请的ak;

第三步,接收http请求返回的数据(json或xml格式),根据返回值说明解析数据。

简单示例:

http://api.map.baidu.com/direction/v2/transit?origin=40.056878,116.30815&destination=31.222965,121.505821&ak=您的ak

服务地址

http://api.map.baidu.com/direction/v2/transit?
https://api.map.baidu.com/direction/v2/transit?

组成说明:

域名:api.map.baidu.com

服务名:direction

服务版本号:当前版本为v2

路线模式:transit(公交)

公交检索请求参数

字段名称 字段含义 字段类型 备注
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 或xml 默认为json
page_size 返回每页几条路线 int(1-10) 可选 默认为10 返回所有可行routes 的每页中含有几个routes
page_index 返回第几页 int 可选 默认为1 返回所有可行routes 的第几页
ak 开发者密钥 string 必填
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 所有路线的总数 符合条件的所有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 只有大陆地区的同城请求,本step 中为公交时此字段才有意义,其他情况为空数组
status 路况状态 int 0 无路况;1 畅通;2 缓行;3 拥堵;4 非常拥堵
geo_cnt 此路况的点数 int 整数,表示从当前坐标点开始,path 中路况相同的坐标点个数
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 抵达时间

更新日志

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

2017年1月3日:vehicle_info中新增 start_info 和 end_info,返回该 step 起终点详细信息。

2016年9月5日:Direction API v2.0产品上线:开放公交换乘方案的线路数据,全面支持跨城公交。在公交和地铁的基础上,同时支持火车、飞机、城际大巴多种公共出行方式。