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

产品介绍

Route Matrix API v2.0已于2016年6月30日上线,单次请求坐标对数目提升至50,并支持骑行模式。鉴于此,Route Matrix API v1.0计划于2017年7月30日下线,请开发者尽快迁移至新版本。

Route Matrix API v1.0是一套以HTTP/HTTPS形式提供的批量线路查询接口,用于返回多个起点和多个终点间的线路距离和行驶时间。该服务并不会返回详细的线路信息,查询线路详细请使用 API

点击查看 示例

适用场景

该接口适用于仅获取线路距离和时间,无需获取详细线路信息或者需要同时获取多起点、多终点线路距离等的情况。以下是获取同一个起点(酒店)至多个终点(机场、火车站)线路信息(见红框)的示例:

routematrix01.png

使用限制

起终点个数最多为5个,即每个请求串最多能查询25条线路信息;

未认证开发者默认配额为:2000次/天(HTTP和HTTPS请求共享配额)。

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

使用方法

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

第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;

第三步,接收返回的数据(json或xml格式)。

注:本接口不支持回调。

服务地址

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

请求接口参数

参数名称 是否必须 格式举例 参数含义
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 必填 E4805d16520de693a3fe707cdc962045 用户的访问权限
sn 选填 用户的权限签名
timestamp sn存在时必填 时间戳,与sn配合使用。

编码说明:

API请求中需要用到中文或一些特殊字符的参数,如origins、destinations等,为了避免提交到后台乱码,需要对这几个参数值进行编码处理,转换成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保留字字符的字面意思,例如:origins关键字取值为"?百度大厦",检索关键字包含一个问号,此问号也必须进行编码。

附注:

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

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

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

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

返回值说明

参数名称 参数含义 备注
status 状态码 0:成功

2:参数错误 3:权限或配额校验失败

message 状态码对应的信息 例如 message:"ok"
info 版权信息
result 返回的结果数组
elements distance(线路距离,分文本描述和数值两种形式) {

text:xx公里, value:xxxx }

数组元素,数组每个元素对应每行里的检索结果 每行指一个起点与n个终点的计算返回结果
duration(时间,分文本描述和数值两种形式)

{ text:x.x小时, value:xxxx }

接口示例

服务示例:

http://api.map.baidu.com/direction/v1/routematrix?output=json&origins=天安门|鸟巢&destinations=北京大学|东方明珠&ak=您的ak

返回结果格式:

 
    {    
        "elements":[  
            {origin1-destination1},  
            {origin1-destination2},  
            {origin2-destination1},  
            {origin2-destination2}  
        ]  
    }

请求格式如下:

http://api.map.baidu.com/direction/v1/routematrix?output=json&origins=origin1|orgin2&destinations=destination1|destination2&ak=您的ak
 
origins=origin1|orgin2为请求的起点
 
destinations=destination1|destination2为请求的终点

状态码

0 成功
1 服务器内部错误
2 请求参数非法
3 权限校验失败
4 配额校验失败
5 Ak不存在或者非法
11 起终点信息模糊
12 起点或者终点超过5个
101 服务禁用
102 不通过白名单或者安全码不对

更新日志

2013年12月19日 Route Matrix APIv1.0发布。

产品上线:提供同时查询多个起终点线路信息的数据接口。