浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

WEB 服务API

百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的检索数据。用户可以基于此开发JavaScript、C#、C++、Java等语言的地图应用。

服务介绍
服务文档
使用指南
常见问题
更新日志
资源下载
地理编码服务

地理编码服务(又名Geocoding API)是一类Web API接口服务;
正向地理编码服务提供将结构化地址数据(如:北京市海淀区上地十街十号)转换为对应坐标点(经纬度)功能;
地理编码服务当前未推出国际化服务,解析地址仅限国内;

功能介绍
地理编码服务

用户可通过该功能,将结构化地址(省/市/区/街道/门牌号)解析为对应的位置坐标。地址结构越完整,地址内容越准确,解析的坐标精度越高。

GC.png


接口功能介绍
地理编码
http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation //GET请求
请求参数
参数名 参数含义 类型 举例 默认值 是否必须
address 待解析的地址。最多支持84个字节。
可以输入三种样式的值,分别是: 
1、标准的结构化地址信息,如北京市海淀区上地十街十号 【推荐,地址结构越完整,解析精度越高】
2、支持“*路与*路交叉口”描述方式,如北一环路和阜阳路的交叉路口
第二种方式并不总是有返回结果,只有当地址库中存在该地址描述时才有返回。
string 北京市海淀区上地十街10号
city 地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用,但不限制坐标召回城市。 string 北京市

ret_coordtype 可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明 string gcj02ll(国测局坐标)、bd09mc(百度墨卡托坐标) bd09ll(百度经纬度坐标)
ak 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key” 申请ak string

sn 若用户所用ak的校验方式为sn校验时该参数必须 
sn生成
string

output 输出格式为json或者xml string json或xml xml
callback 将json格式的返回值通过callback函数返回以实现jsonp功能 string callback=showLocation(JavaScript函数名)
返回结果参数
名称
含义 类型
status
返回结果状态值, 成功返回0,其他值请查看下方返回码状态表。 int
location
经纬度坐标 object

lat 纬度值 float

lng 经度值 float
precise
位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点(模糊打点无法保证准确度,不建议使用)。 int
confidence
可信度,描述打点准确度,大于80表示误差小于100m。该字段仅作参考,返回结果准确度主要参考precise参数。 int
level
地址类型 string

服务状态码
返回码 英文描述 定义 常见原因
0 ok 正常 服务请求正常召回
1
服务器内部错误

2 Parameter Invalid 请求参数非法 必要参数拼写错误或漏传(如query和tag请求中均未传入)
3 Verify Failure 权限校验失败
4 Quota Failure 配额校验失败 服务当日调用次数已超限,请前往API控制台提升(请优先进行开发者认证
5 AK Failure ak不存在或者非法 未传入ak参数;ak已被删除(可前往回收站恢复);
101

服务禁用

102

不通过白名单或者安全码不对

2xx

无权限

3xx

配额错误

使用方法
编码说明

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),同时可通过参数("coord_type","ret_coordtype")控制输入输出坐标类型。输入坐标支持以上三种坐标系,输出坐标支持-国测局坐标(GCJ02)和百度坐标(BD09)

注意:不同类型坐标如需转换,请使用百度地图开放平台提供的标准坐标转换接口。请勿使用其他渠道提供的坐标转换方法,以免影响坐标转换精度。

服务配额

每个开发者账号每天调用“地点检索”API 服务的总次数(即配额)是有限的。

每个开发者账号每天调用“地点检索”API 服务的总次数(即并发量)是有限的。

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

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


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

分类 未认证 个人认证 企业认证
日配额(次) 6,000 300,000 3,000,000
分钟并发数(次/分钟) 3,000 10,000 60,000
服务常见问题
1、为什么地理编码服务解析的地址坐标与真实位置有偏差?

对地理编码影响最大的是请求中地址的完整度和准确度。请求地址结构越完整(包含省、市、区县、乡镇、街道、门牌),各级地址越准确,最后解析的坐标就越精准。
如请求中的地址质量已经很高,仍无法解析到准确坐标,则可能是百度门址库暂未覆盖该地址,我们会持续提升数据覆盖。
这类解析结果,一般precise=0,建议通过该字段,过滤非精确解析结果。

2、同一个地址,为什么使用百度地图客户端能准确检索对应坐标,而正向地理编码服务确解析错误?

百度地图客户端针对poi的address数据进行检索,而正向地理编码则针对专业的「门址」数据进行解析,两份数据不同。
我们会在17年末解决此类问题。

2012年5月23日

V1.0

2013年4月7日

V2.0


产品发布
全新Geocoding API产品上线
新增功能
地理编码服务
增加回调函数,解决js使用ajax不能跨域请求数据问题。

服务资源下载
百度地图POI行业分类(tag)

您可以通过此链接获知百度地图POI(兴趣点)的tag引导体系,辅助您检索POI。 如检索query为百度地图的tag“生活服务”,返回的检索结果即包含关键字为“生活服务”的POI、也包含tag为“生活服务”的POI,从而聚焦检索结果。