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

产品介绍

Direction API是一套以HTTP/HTTPS形式提供的公交、驾车、骑行、步行查询检索接口,返回xml或json格式的检索数据,可用于实现开发线路规划功能。

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

坐标系说明

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


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


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


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


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

功能介绍

根据起/终点名称或经纬度,提供公交、驾车、骑行、步行数据检索服务,且根据检索条件不同,返回两种模式检索结果:

起/终点唯一的检索模式:即给定的起/终点关键字对应唯一POI点时,可直接返回检索数据

起/终点模糊的检索模式:即给定的起/终点关键字将对应多个POI点时,返回起终点选择页面,待选择确认唯一起/终点,返回检索数据

配额说明

使用服务前,首先需要登录API控制台申请密钥ak。

每个开发者账号每天调用服务的总次数(即配额)是有限的。

每个开发者账号每分钟调用服务的次数(即并发量)是有限的。

若需更高配额和并发量,请申请开发者认证以获取更高配额和更及时的技术支持。

同一个帐号下的HTTP/HTTPS请求,配额、并发共享。

默认配额及并发量说明如下:

分类 未认证 个人认证 企业认证
日配额(次) 2,000 30,000 300,000
分钟并发量(次/分钟) 1,200 3,000 12,000

适用场景

非JavaScript 语言或无需展现地图的场景下,进行线路查询,如以线路结果页形式展现换乘方案

direction_1.jpg

根据线路数据,自行开发线路导航

使用限制

未认证用户

配额为:2000次/天,并发1200次/分钟。

若需更高配额,请申请开发者认证以获取更高配额和更及时技术支持。


认证用户

- 认证个人用户:30000次/日,并发3000次/分钟

- 认证企业用户:300000次/日,并发12000次/分钟

若需更高配额,请通过API控制台->我的服务自行申请配额。

使用方法

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

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

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

简单示例:

http://api.map.baidu.com/direction/v1?mode=driving&origin=清华大学&destination=北京大学&origin_region=北京&destination_region=北京&output=json&ak=您的ak

结果说明:mode(driving)是驾车模式,origin(清华大学)是起点名称,destination(北京大学)是终点名称,origin_region(北京)指定起始点城市,destination_region(北京)指定终点城市,output(json)用于指定返回数据的格式;ak是开发者请求数据的标识。

服务地址

http://api.map.baidu.com/direction/v1

组成说明:

域名:api.map.baidu.com

服务名:direction

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

请求接口参数

参数 是否必须 格式举例 参数含义
origin 必选

1. 名称:百度大厦
坐标:格式为"纬度,经度",小数点后不超过6位,如:“40.056878,116.30815”
2 关键字模式
名称+经纬度:百度大厦|40.056878,116.30815

起点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。若为步行路径规划,则起终点间直线距离不应超过200公里。
destination 必选

名称:天安门
经纬度:格式为"纬度,经度",小数点后不超过6位,如:"39.915285,116.403857"
名称+经纬度:天安门|39.915285,116.403857

终点名称或经纬度,或者可同时提供名称和经纬度,此时经纬度优先级高,将作为导航依据,名称只负责展示。若为步行路径规划,则起终点间直线距离不应超过200公里。
mode 选填,默认为driving driving(驾车模式) 导航模式,包括:driving(驾车)、walking(步行)、transit(公交)、riding(骑行)
region 必填 北京 公交、步行导航时该参数必填。
origin_region 必填 北京 起始点所在城市,驾车导航时必填。
destination_region 必填 北京 终点所在城市,驾车导航时必填。
output 选填,默认为xml json 表示输出类型,可设置为xml或json,默认为xml。
coord_type 选填,默认为bd09ll gcj02(国测局坐标,如google,soso地图均采用该坐标) 坐标类型,可选参数,默认为bd09ll。允许的值为:bd09ll(百度经纬度坐标)、bd09mc(百度摩卡托坐标)、gcj02(国测局加密坐标)、wgs84(gps设备获取的坐标)。
ret_coordtype 返回值的坐标类型 string 可选,默认为百度经纬度坐标:bd09ll

可选值:

bd09ll:百度经纬度坐标

gcj02:国测局坐标

waypoints 选填 西单 途经点集合,包括一个或多个用竖线字符"|"分隔的地址名称或经纬度。支持驾车、步行方案,最多支持5个途经点。
tactics 选填 驾车模式,填写该参数。默认为12 导航策略。可选值,

10:不走高速;

11:常规路线,即多数人常走的一条路线,不受路况影响,可用于用车估价;

12:距离较短,即距离相对较短的一条路线,但并不一定是一条优质路线;

13:躲避拥堵

ak 必填 E4805d16520de693a3fe707cdc962045 用户的访问权限
sn 选填 用户的权限签名,sn计算方法
timestamp sn存在时必填 时间戳,与sn配合使用。

编码说明:

API请求中需要用到中文或一些特殊字符的参数,如origin、destination、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关键字取值为"?北京",检索关键字包含一个问号,此问号也必须进行编码。

附注:

(1) javascript中一般采用encodeURIComponent函数对特殊字符进行编码。

(2) Java中可以使用函数URLEncoder.encode对特殊字符进行编码。

(3) C#中可以使用函数HttpUtility.UrlEncode对特殊字符进行编码。

(4) php中可以使用函数urlencode对特殊字符进行编码。

驾车路径规划返回值说明

status: 包含请求返回结果的接口状态信息。

routes:包含一组从起点到目的地的线路数据(包含路段标识、线路距离、线路起终点经纬度等信息)

驾车—起/终点唯一检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 版权信息
result 返回的结果
routes distance 方案距离 单位:米
duration 线路耗时 单位:秒
steps area 标示该路段是否在城市内部:0:不在城市内部;1:在城市内部 默认为 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 路段距离 单位:米
duration 路段耗时 单位:秒
instruction 路段描述
path 路段位置坐标描述 坐标系由ret_coordtype设置,示例:"116.30815169816,40.057096534337"
pois 途径poi信息 目前无输出
turn 机动转向点,包括基准八个方向、环岛、分歧等 枚举值,返回0-16之间的一个值,共17个枚举值;分别代表的含义是:0-无效;1-直行;2-右前方转弯;3-右转;4-右后方转弯;5-掉头;6-左后方转弯;7-左转;8-左前方转弯;9-左侧;10-右侧;11-分歧-左;12-分歧中央;13-分歧右;14-环岛;15-进渡口;16-出渡口
stepOrigin Location lng 路段起点经度 坐标系由ret_coordtype设置
lat 路段起点纬度 坐标系由ret_coordtype设置
stepDestination Location lng 路段终点经度 坐标系由ret_coordtype设置
lat 路段终点纬度 坐标系由ret_coordtype设置
traffic_condition 该路段的路况评价 0:无路况;1:畅通;2:缓行;3:拥堵
traffic_condition_detail status 路况 0:无路况;1:畅通;2:缓行;3:拥堵
geo_cnt 路段数 从path 起点开始,路况相同的路段数(1个路段是指:相邻两个坐标点间的区间)
toll 过路费
originLocation 起点经纬度坐标 坐标系由ret_coordtype设置
destination Location 终点经纬度坐标 坐标系由ret_coordtype设置
origin area_id 起点所在城市代码 如:北京 131
cname 城市名称
uid 起点的id
wd 起点的搜索关键字
originPt 起点经纬度 坐标系由ret_coordtype设置
destination area_id 终点所在城市代码
cname 终点城市名称
uid 终点id
wd 终点的搜索关键字
destinationPt 终点经纬度坐标 坐标系由ret_coordtype设置
taxi detail desc 描述
km_price 每公里价格 单位:元
start_price 起步价 单位:元
total_price 总价格 单位:元
distance 起终点之间距离 单位:米
duration 起终点方案耗时 单位:秒
remark 详细信息
traffic_condition 路况评价 0:无路况;1:畅通;2:缓行;3:拥堵

服务示例:

http://api.map.baidu.com/direction/v1?mode=driving&origin=上地五街&destination=北京大学&origin_region=北京&destination_region=北京&output=json&ak=您的ak

驾车—起/终点模糊检索返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面 2:起终点都是明确的,直跳
info 版权信息
result 返回的结果
mode=driving

type=1

originInfo area_id 起点的城市代码
wd 起点的搜索关键字
uid 起点的位置id
destinationInfo area_id 终点的城市代码
wd 终点的搜索关键字
uid 终点的位置id
origin cityName 起点所在城市名称
content name 起点模糊匹配的地点名称
address 起点模糊匹配的地点的地址
uid 起点模糊匹配的地点的id
telephone 起点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置
destination cityName 终点所在城市名称
content name 终点模糊匹配的地点名称
address 终点模糊匹配的地点的地址
uid 终点模糊匹配的地点的id
telephone 终点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置

服务示例:

http://api.map.baidu.com/direction/v1?mode=driving&origin=人民&destination=上地&origin_region=北京&destination_region=北京&output=json&ak=您的ak

公交路径规划返回值说明

status: 包含请求返回结果的接口状态信息。

routes:包含一组从起点到目的地的线路数据(包含路段标识、线路距离、线路起终点经纬度等信息)

公交—起/终点唯一检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 相应信息
result 返回的结果
mode=transit

type=2

routes scheme distance 方案距离 单位:米
duration 线路耗时 单位:秒
price 公交总票价 单位:分
line_price line_type 票类型 0:公交票价;1:地铁票价
line_price 价格 单位:分
steps distance 路段距离 单位:米
duration 路段耗时 单位:秒
path 路段位置坐标描述
type 路段类型 1 火车;2 飞机;3 公交;4 驾车;5 步行;6 大巴
stepOriginLocation lng 路段起点经度 坐标系由ret_coordtype设置
lat 路段起点纬度 坐标系由ret_coordtype设置
stepDestinationLocation lng 路段终点经度 坐标系由ret_coordtype设置
lat 路段终点纬度 坐标系由ret_coordtype设置
stepInstruction 路段说明
vehicle start_name 公交线路起点名称
end_name 公交线路终点名称
end_time 公交线路的末班车时间
end_uid 公交线路终点id
name 公交线路名称
start_time 公交线路首班车时间
start_uid 公交线路起点id
stop_num 路段经过的站点数量
total_price 价格
type 公交线路类型 0:普通日行公交车;1:地铁、轻轨;2:机场巴士(前往机场);3:有轨电车;4:机场巴士(从机场返回);5:旅游线路车;6:夜班车;7:机场巴士(机场之间);8:轮渡;9:其他;10:快车;11:慢车;12:机场快轨(前往机场);13:机场快轨(从机场返回);14:机场轨道交通环路
uid 公交线路id
zone_price 区间价
tip_label_type 方案类型 0: 无方案 1:时间短 2:少换乘 3:少步行 4: 上车站离起点近 5:上车站离终点近 6:直达 7: 无堵车风险 8: 堵车风险小
traffic_type 路况信息 0:无路况信息;1~10:正常;11~20:缓行;21~30:拥堵
originLocation 起点经纬度坐标 坐标系由ret_coordtype设置
destinationLocation 终点经纬度坐标 坐标系由ret_coordtype设置
origin originPt 起点经纬度 坐标系由ret_coordtype设置
destination destinationPt 终点经纬度坐标 坐标系由ret_coordtype设置
taxi detail desc 描述
km_price 每公里价格 单位:元
start_price 起步价 单位:元
total_price 总价格 单位:元
distance 起终点之间距离 单位:米
duration 起终点方案耗时 单位:秒
remark 详细信息

服务示例:

http://api.map.baidu.com/direction/v1?mode=transit&origin=上地五街&destination=北京大学&region=北京&output=json&ak=您的ak

公交—起/终点模糊检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 相应信息
result 返回的结果
originInfo wd 起点的搜索关键字
city cname 起点所在城市名称
code 起点所在城市代码
destinationInfo wd 终点的搜索关键字
city cname 终点所在城市名称
code 终点所在城市代码
origin name 模糊匹配起点名称
address 模糊匹配起点地址
uid 模糊匹配起点的id
location lng 模糊匹配起点经度 坐标系由ret_coordtype设置
lat 模糊匹配起点纬度 坐标系由ret_coordtype设置
destination name 模糊匹配终点名称
address 模糊匹配终点地址
uid 模糊匹配终点的id
location lng 模糊匹配终点经度 坐标系由ret_coordtype设置
lat 模糊匹配终点纬度 坐标系由ret_coordtype设置

服务示例:

http://api.map.baidu.com/direction/v1?mode=transit&origin=人大&destination=北京大学&region=北京&output=json&ak=您的ak

骑行行路径规划返回值说明

status: 包含请求返回结果的接口状态信息。

routes:包含一组从起点到目的地的线路数据(包含路段标识、线路距离、线路起终点经纬度等信息)

骑行—起/终点唯一检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 版权信息
result 返回的结果
mode=riding

type=2

routes distance 方案距离 单位:米
duration 线路耗时 单位:秒
steps area 标示该路段是否在城市内部 (默认)0:不在城市内部;1:在城市内部
direction 保存进入当前道路的方向角
distance 路段距离 单位:米
duration 路段耗时 单位:秒
instruction 路段描述
path 路段位置坐标描述
pois 途径poi信息 目前无输出
type 路段类型
stepOrigin

Location

lng 路段起点经度 坐标系由ret_coordtype设置
lat 路段起点纬度 坐标系由ret_coordtype设置
stepDestin

ationLocation

lng 路段终点经度 坐标系由ret_coordtype设置
lat 路段终点纬度 坐标系由ret_coordtype设置
stepOriginInstruction 起点信息描述
stepDestinationInstruction 终点信息描述
originLocation lng 路线起点经度 坐标系由ret_coordtype设置
lat 路线起点纬度 坐标系由ret_coordtype设置
destinationLocation lng 路线起点经度 坐标系由ret_coordtype设置
lat 路线起点纬度 坐标系由ret_coordtype设置
origin area_id 起点所在城市代码,如:北京 131
cname 城市名称
uid 起点的id
wd 起点的搜索关键字
originPt 起点经纬度 坐标系由ret_coordtype设置
destination area_id 终点所在城市代码
cname 终点城市名称
uid 终点id
wd 终点的搜索关键字
destinationPt 终点经纬度坐标 坐标系由ret_coordtype设置

服务示例:

http://api.map.baidu.com/direction/v1?mode=riding&origin=奎科科技大厦&destination=北京大学&region=北京&output=json&ak=您的ak

骑行—起/终点模糊检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 相应信息
result 返回的结果
mode=riding

type=1

originInfo area_id 起点的城市代码
wd 起点的搜索关键字
uid 起点的位置id
destinationInfo area_id 终点的城市代码
wd 终点的搜索关键字
uid 终点的位置id
origin cityName 起点所在城市名称
content name 起点模糊匹配的地点名称
address 起点模糊匹配的地点的地址
uid 起点模糊匹配的地点的id
telephone 起点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置
destination cityName 终点所在城市名称
content name 终点模糊匹配的地点名称
address 终点模糊匹配的地点的地址
uid 终点模糊匹配的地点的id
telephone 终点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置

服务示例:

http://api.map.baidu.com/direction/v1?mode=riding&origin=人大&destination=北京大学&region=北京&output=json&ak=您的ak

步行路径规划返回值说明

status: 包含请求返回结果的接口状态信息。

routes:包含一组从起点到目的地的线路数据(包含路段标识、线路距离、线路起终点经纬度等信息)

步行—起/终点唯一检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 版权信息
result 返回的结果
mode=walking

type=2

routes distance 方案距离 单位:米
duration 线路耗时 单位:秒
steps area 标示该路段是否在城市内部 (默认)0:不在城市内部;1:在城市内部
direction 保存进入当前道路的方向角
distance 路段距离 单位:米
duration 路段耗时 单位:秒
instruction 路段描述
path 路段位置坐标描述
pois 途径poi信息 目前无输出
type 路段类型
turn 机动转向点。 基准八方向、环岛、分歧
stepOrigin

Location

lng 路段起点经度 坐标系由ret_coordtype设置
lat 路段起点纬度 坐标系由ret_coordtype设置
stepDestin

ationLocation

lng 路段终点经度 坐标系由ret_coordtype设置
lat 路段终点纬度 坐标系由ret_coordtype设置
originLocation 起点经纬度坐标 坐标系由ret_coordtype设置
destinationLoc

ation

终点经纬度坐标 坐标系由ret_coordtype设置
origin area_id 起点所在城市代码 如:北京 131
cname 城市名称
uid 起点的id
wd 起点的搜索关键字
originPt 起点经纬度
destination area_id 终点所在城市代码
cname 终点城市名称
uid 终点id
wd 终点的搜索关键字
destinationPt 终点经纬度坐标
taxi detail desc 描述
km_price 每公里价格 单位:元
start_price 起步价 单位:元
total_price 总价格 单位:元
distance 起终点之间距离 单位:米
duration 起终点方案耗时 单位:秒
remark 详细信息

服务示例:

http://api.map.baidu.com/direction/v1?mode=walking&origin=奎科科技大厦&destination=北京大学&region=北京&output=json&ak=您的ak

步行—起/终点模糊检索模式返回值说明

返回值参数名称(response) 参数含义 备注
status 状态码 0:成功;2:参数错误;5:权限或配额校验失败
message 状态码对应的信息 例如 message:"ok"
type 返回数据类型 1:起终点是模糊的,此时给出的是选择页面;2:起终点都是明确的,直跳
info 相应信息
result 返回的结果
mode=walking

type=1

originInfo area_id 起点的城市代码
wd 起点的搜索关键字
uid 起点的位置id
destinationInfo area_id 终点的城市代码
wd 终点的搜索关键字
uid 终点的位置id
origin cityName 起点所在城市名称
content name 起点模糊匹配的地点名称
address 起点模糊匹配的地点的地址
uid 起点模糊匹配的地点的id
telephone 起点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置
destination cityName 终点所在城市名称
content name 终点模糊匹配的地点名称
address 终点模糊匹配的地点的地址
uid 终点模糊匹配的地点的id
telephone 终点模糊匹配的地点的电话
location lng 经度坐标 坐标系由ret_coordtype设置
lat 纬度坐标 坐标系由ret_coordtype设置

服务示例:

http://api.map.baidu.com/direction/v1?mode=walking&origin=人大&destination=北京大学&region=北京&output=json&ak=您的ak

更新日志

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

2017年1月3日:修复驾车路线规划路况不准确 bug;新增详细路况评价,返回每个坐标点的路况。

2016年7月22日:针对驾车路线规划,为每一个路段增加路况评价。

2016年1月18日:骑行路径规划服务正式发布。

2015年12月30日:步行路径规划起终点距离限制不超过200公里。

2014年12月10日:增加驾车方案的过路费信息。

2013年7月11日Direction APIv1.0产品上线:开放公交、驾车、步行换乘方案的线路数据。