由于产品策略调整,自2021年12月01日起,建议开发者不要再使用此批量接口,平台后续会逐步下线此服务。
批量服务用于多服务请求合并发送场景。
用户可一次传入相同或不同请求类型的多个请求,通过批量服务合并发送,并按照用户传入请求的顺序返回对应结果,目前一次最多支持20个子请求。
目前支持正逆地理编码两种服务、路线规划(directionlite/v1、direction/v2、货车路线规划)
批量请求本身为post请求,子请求为get或者post请求方式,必须为数组格式(即使只有一条请求),否则报错。以json形式返回批量请求结果子请求为get的话需要有url字段,否则报错。子请求为post请求的话需要有url和body字段,否则报错。请求头部需要在content-type之中指定"application/json"子请求默认会继承当前post请求的header部分。
注意:因请求只支持json返回格式,请勿使用callback参数
https://api.map.baidu.com/batch //POST请求
{ "reqs":[ { "method":"get", "url":"/geocoding/v3/?address=重庆市沙坪坝区学城大道62号&ak=你的ak&output=json" }, { "method":"get", "url":"/reverse_geocoding/v3/?location=35.658651,119.745415&output=json&entensions_poi=0&ak=你的ak" } ] }
{
"status":0,
"batch_result":[
{
"status":0,
"result":{
"location":{
"lng":106.3795289775268,
"lat":29.609004995890615
},
"precise":1,
"confidence":100,
"comprehension":100,
"level":""
}
},
{
"status":0,
"result":{
"location":{
"lng":119.74541499999992,
"lat":35.65865089820304
},
"formatted_address":"山东省青岛市黄岛区港兴大道",
"business":"",
"addressComponent":{
"country":"中国",
"country_code":0,
"country_code_iso":"CHN",
"country_code_iso2":"CN",
"province":"山东省",
"city":"青岛市",
"city_level":2,
"district":"黄岛区",
"town":"",
"adcode":"370211",
"street":"港兴大道",
"street_number":"",
"direction":"",
"distance":""
},
"pois":[
],
"roads":[
],
"poiRegions":[
],
"sematic_description":"",
"cityCode":236
}
}
]
}
返回码 | 英文描述 | 定义 | 常见原因 |
---|---|---|---|
0 | ok | 正常 | 服务请求正常召回 |
-1 | |
用户请求格式错误 | json请求正文不符合规定的格式 |
-2 | |
返回数据格式非json错误 | json里的请求子串使用了callback参数 |
-3 | |
服务不支持 |
访问了非正逆编码服务 |
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对特殊字符进行编码。
WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
GCJ02:是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标
坐标转换服务默认输入输出坐标类型为百度坐标(BD09),同时可通过参数("from","to")控制输入输出坐标类型。输入坐标支持以上三种坐标系,输出坐标支持-国测局坐标(GCJ02)和百度坐标(BD09)
注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。
服务相关配额及并发请求限制请访问开发者权益页面查看。
注意:批量服务本身没有配额,配额限制由批量调用的各子服务单独控制。若某子服务(如正逆地理编码)配额达到上限,那么在批量服务中将返回配额超限相关状态码。
批量服务本身没有配额,配额限制由批量调用的各子服务单独控制。若某子服务(如正逆地理编码)配额达到上限,那么在批量服务中将返回配额超限相关状态码。
不会。各子请求的召回按请求顺序独立召回。
2019年4月15日
V1.0
2019年6月18日
V2.0
全新批量服务发布。