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

WEB 服务API

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

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

正/逆地理编码服务(又名Geocoding API)是一类Web API接口服务;
正向地理编码服务提供将结构化地址数据(如:北京市海淀区上地十街十号)转换为对应坐标点(经纬度)功能;
逆向地理编码服务提供将坐标点(经纬度)转换为对应位置信息(如所在行政区划,周边地标点分布)功能。

功能介绍
地理编码服务

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

GC.png

逆地理编码服务

用户可通过该功能,将位置坐标解析成对应的行政区划数据以及周边高权重地标地点分布情况,整体描述坐标所在的位置。

RGC.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

逆地理编码
http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.934,116.329&output=json&pois=1&ak=您的ak //GET请求
请求参数
参数名 参数含义 类型 举例 默认值 是否必须
location 根据经纬度坐标获取地址。支持批量,多组坐标间用|分隔,单次请求最多解析20组坐标。超过20组取前20组解析。批量解析需使用batch参数。批量解析仅召回行政区划数据。
float 38.76623,116.43213

lat<纬度>,lng<经度>

coordtype 坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标)、wgs84ll( GPS经纬度) 坐标系说明 string bd09ll、gcj02ll bd09ll

ret_coordtype 可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明 string gcj02ll(国测局坐标)、bd09mc(百度墨卡托坐标) bd09ll(百度经纬度坐标)
batch
请求为批量时必须,batch=true;若batch=false或为空,请求只解析第一组坐标。
string true、false
false
pois
是否召回传入坐标周边的poi,0为不召回,1为召回。当值为1时,默认显示周边1000米内的poi。
int 0
0
radius
poi召回半径,允许设置区间为0-1000米,超过1000米按1000米召回。
int 500
1000
ak 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key” 申请ak string E4805d16520de693a3fe70
sn 若用户所用ak的校验方式为sn校验时该参数必须 
sn生成
string

output 输出格式为json或者xml string json或xml xml
callback 将json格式的返回值通过callback函数返回以实现jsonp功能 string callback=showLocation(JavaScript函数名)
extensions_poi
区别于pois参数,pois=0,不召回pois数据,但后端仍访问poi相应服务;extensions_poi=null时,后端不调用poi相关服务,可减少服务访问时延。
string
null
extensions_road
当取值为true时,召回坐标周围最近的3条道路数据。区别于行政区划中的street参数(street参数为行政区划中的街道,和普通道路不对应)。
string
false、true false
extensions_town
当取值为true时,行政区划返回乡镇级数据。默认不访问。
string
true
latest_admin
是否访问最新版行政区划数据,1(访问),0(不访问)
int 0、1
0
返回结果参数
名称
含义 类型
status
返回结果状态值, 成功返回0,其他值请查看下方返回码状态表。 int
location
经纬度坐标 object

lat 纬度值 float

lng 经度值 float
formatted_address
结构化地址信息 int
confidence
可信度,描述打点准确度。[0,100],大于80表示误差低于100m int
business
坐标所在商圈信息,如 "人民大学,中关村,苏州街"。最多返回3个。 string
addressComponent
country
国家
string
province
省名
string
city
城市名
string
district
区县名
string
town 乡镇名 string
street
街道名(行政区划中的街道层级)
string
street_number
街道门牌号
string
adcode
行政区划代码 adcode映射表
int
country_code
国家代码
int
direction
相对当前坐标点的方向,当有门牌号的时候返回数据
string
distance
相对当前坐标点的距离,当有门牌号的时候返回数据
string
pois(周边poi数组)
addr
地址信息
string
cp
数据来源(已废弃)
string
direction
和当前坐标点的方向
string
distance
离坐标点距离
int
name
poi名称
string
poiType
poi类型,如’ 办公大厦,商务大厦’
string
point
poi坐标{x,y}
float
tel
电话
int
uid
poi唯一标识
string
zip
邮编
int
parent_poi
poi对应的主点poi(如,海底捞的主点为上地华联,该字段则为上地华联的poi信息。如无,该字段为空),包含子字段和pois基础召回字段相同。

poiRegions
direction_desc
请求中的坐标与所归属区域面的相对位置关系 string
name
归属区域面名称 string
tag
归属区域面类型 string
roads
name 道路名称 string
distance 该道路与请求坐标的距离,单位m int
sematic_description
当前位置结合POI的语义化结果描述。
string
cityCode
城市id(不再更新),建议使用adcode字段(搭配请求中latest_admin字段使用)
int
服务状态码
返回码 英文描述 定义 常见原因
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数据吗?

国外POI召回已开始申请试用,预计17年12月全面开放使用。

3、使用逆地址解析的批量解析功能,配额是如何计算的?

若一次请求同时解析20个坐标点,则对应消耗20次请求配额。

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

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

5、使用逆地址解析时行政区划相关信息召回错误?

请参考文档,使用latest_admin参数。
逆地址解析用户使用量巨大,为避免历史版本行政区划更新给存量用户造成较大影响,我们新增了一个字段控制是否使用最新版的行政区划(默认不使用)。有需求的用户请将该字段添加至请求中。

6、我能通过接口召回自己的地点数据吗?

可以支持。请使用「云逆地理编码服务」。

2012年5月23日

V1.0

2013年4月7日

V2.0

2015年12月15日

V2.1

2017年1月10日

V2.2

2017年6月19日

V2.3


产品发布
全新Geocoding API产品上线
新增功能
地理编码服务
增加回调函数,解决js使用ajax不能跨域请求数据问题。
逆地理编码服务
支持多种坐标类型bd09ll(百度墨卡托坐标)、gcj02ll(国测局墨卡托坐标)、wgs84ll( wgs84经纬度)输入。
支持返回对应解析的POI,还支持返回周边100米以内所有POI
新增回调函数
新增功能
支持全球行政区划位置描述。
新增功能
新增"ret_coordtype=gcj02ll"参数,地点检索API服务全面支持国测局坐标。
新增功能
新增周边道路数据召回功能。
新增 POI 主点数据召回功能。
新增批量解析功能。

服务资源下载
百度地图城市名称-中心点经纬度(cityCenter)关系对照

您可以通过此文件获知百度地图的全国各城市中心点(cityCenter)经纬度


百度地图城市名称-城市代码(cityCode)关系对照

您可以通过此文件获知百度地图的全国各城市代码(cityCode)。 在使用百度地图API或SDK各种涉及citycode参数的服务时,您可参看此文件传入准确值,如JavaScript API的本地检索服务(根据cityCode获取本地检索结果)、Android SDK离线地图服务(根据cityCode,获取对应城市离线地图)等。
注意:cityCode为百度内部定义,已不再维护,请谨慎使用。


百度地图行政区划adcode映射表【更新至17年9月3日】

 逆地理编码服务使用的国家标准行政区划代码(adcode)映射表。持续更


百度地图POI行业分类(tag)

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