批量算路服务(又名Route Matrix API)是一套以HTTP/HTTPS形式提供的批量线路查询接口,用于返回多个起点和多个终点间的线路距离和行驶时间。该服务并不会返回详细的线路信息,查询线路详细请使用路线规划API。
Route Matrix API V2.0已于2016年6月30日上线,单次请求坐标对数量提升至50,并支持骑行模式。
鉴于此,Route Matrix API V1.0计划于2017年7月30日下线,请开发者尽快迁移至新版本。
根据起点和终点,批量计算路线的距离和耗时,不会返回详细的线路信息
起点和终点支持经纬度和关键字
可选择出行方案(驾车、步行)
起终点个数最多为5个,即每个请求串最多能查询25条线路信息
http://api.map.baidu.com/direction/v1/routematrix
https://api.map.baidu.com/direction/v1/routematrix
http://api.map.baidu.com/direction/v1/routematrix?output=json&origins=天安门|鸟巢&destinations=北京大学|东方明珠&ak=您的AK
参数名称 | 是否必须 | 示例 | 参数含义 |
---|---|---|---|
origins | 必选 | 名称:百度大厦
经纬度:40.056878, 116.30815 坐标格式为:lat<纬度>,lng<经度> |
分割,最多传5个点 |
destinations | 必选 | 名称:天安门
经纬度:39.915285, 116.403857 坐标格式为:lat<纬度>,lng<经度> |
分割,最多传5个点 |
mode | 选填,默认为driving | driving(驾车模式) | 导航模式,包括:driving(驾车)、walking(步行) |
output | 选填,默认为xml | json | 表示输出类型,可设置为xml或json,默认为xml |
coord_type | 选填,默认为bd09ll | gcj02(国测局坐标,如google,soso地图均采用该坐标) | 坐标类型,可选参数,默认为bd09ll。允许的值为:bd09ll(百度经纬度坐标)、bd09mc(百度墨卡托坐标)、gcj02(国测局加密坐标)、wgs84(gps设备获取的坐标) |
ak | 必填 | |
用户的访问权限,AK申请 |
sn | 选填 | 用户的权限签名,当AK设置为SN校验时,该参数必填 SN计算方法 | |
timestamp | SN存在时必填 | 时间戳,与SN配合使用 |
参数名称 | 参数含义 | 备注 | ||||
---|---|---|---|---|---|---|
status | 状态码 | 0:成功 1:服务器内部错误 2:参数错误 3:权限或配额校验失败 | ||||
message | 状态码对应的信息 | 例如 message:"ok" | ||||
info | 版权信息 | |||||
result | 返回的结果数组 | |||||
elements |
distance |
线路距离,分文本描述和数值两种形式,{ text:xx公里, value:xxxx } |
数组元素,数组每个元素对应每行里的检索结果 每行指一个起点与n个终点的计算返回结果 | |||
duration |
路线耗时,分文本描述和数值两种形式{ text:x.x小时, value:xxxx } |
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
Route Matrix API V1.0的输入参数支持以上三种坐标系,开发者无需进行任何坐标转换,只需通过输入参数"coord_type"指明所使用的坐标系即可。服务相关配额及并发请求限制请访问开发者权益页面查看。
注意:
1、Route Matrix API配额是按最终路线计算次数,而非Route Matrix API请求数。
2、起终点个数最多为5个,即每个请求串最多能查询25条线路信息。
字符集合 | 字符 |
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对特殊字符进行编码。0 | 成功 |
1 | 服务器内部错误 |
2 | 请求参数非法 |
3 | 权限校验失败 |
4 | 配额校验失败 |
5 | Ak不存在或者非法 |
11 | 起终点信息模糊 |
12 | 起点或者终点超过5个 |
101 | 服务禁用 |
102 | 不通过白名单或者安全码不对 |
批量算路API服务与其他API服务一样,具有每天使用配额和并发次数的限制。如果您的使用配额或并发不能满足业务使用需求,可以通过认证个人/企业开发者的方式,提升配额。如果您已经是企业认证开发者,配额/并发依然不够使用,可在API控制台-我的服务中申请做进一步提升,请详细填写日配额和并发预估计算方法,以便评估。
批量请求配额是按最终路线计算次数,而非Routematrix请求数。如1个起点5个终点,则最终路线输出为2*5=10条,配额计为10次。
2016年6月27日
V2.0
提供同时查询多个起终点线路信息的数据接口。