全部服务产品
开发者频道
服务升级
登录

所有文档

地理编码

地理编码
下载开发文档
接口说明

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

使用说明

当前为V3.0版本接口文档,V2.0及以前版本自2019.6.18起新用户无法使用。老用户仍可继续使用V2.0及以前版本请求实现全球逆地理编码服务,为保障用户体验,建议您尽快迁移到V3.0版本。

API服务地址

https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation
//GET请求

请求参数
参数名称参数含义示例类型默认值必选
address

待解析的地址。最多支持84个字节。
可以输入两种样式的值,分别是:
1、标准的结构化地址信息,如北京市海淀区上地十街十号【推荐,地址结构越完整,解析精度越高】
2、支持“*路与*路交叉口”描述方式,如北一环路和阜阳路的交叉路口
第二种方式并不总是有返回结果,只有当地址库中存在该地址描述时才有返回。

北京市海淀区上地十街10号string
ak

用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key”申请ak

string
city地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用,但不限制坐标召回城市。北京市string
ret_coordtype

可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明

gcj02(国测局坐标)、bd09mc(百度墨卡托坐标)stringbd09ll(百度经纬度坐标)
sn

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

string
output输出格式为json或者xmljson或xmlstringxml
callback将json格式的返回值通过callback函数返回以实现jsonp功能callback=showLocation(JavaScript函数名)string
extension_analys_level是否触发解析到最小地址结构功能

extension_analys_level=1或true时,触发analys_level;字段返回参数;
extension_analys_level=0或false时;
analys_level字段不返回参数;

string0
返回参数
返回参数类型备注
statusint本次API访问状态,如果成功返回0,如果失败返回其他数字。(见服务状态码
resultobject返回的结果
locationobject经纬度坐标
lngfloat经度值
latfloat纬度值
preciseint位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。
confidenceint描述打点绝对精度(即坐标点的误差范围)。
confidence=100,解析误差绝对精度小于20m;
confidence≥90,解析误差绝对精度小于50m;
confidence≥80,解析误差绝对精度小于100m;
confidence≥75,解析误差绝对精度小于200m;
confidence≥70,解析误差绝对精度小于300m;
confidence≥60,解析误差绝对精度小于500m;
confidence≥50,解析误差绝对精度小于1000m;
confidence≥40,解析误差绝对精度小于2000m;
confidence≥30,解析误差绝对精度小于5000m;
confidence≥25,解析误差绝对精度小于8000m;
confidence≥20,解析误差绝对精度小于10000m;
comprehensionint描述地址理解程度。分值范围0-100,分值越大,服务对地址理解程度越高(建议以该字段作为解析结果判断标准);
当comprehension值为以下值时,对应的准确率如下:
comprehension=100,解析误差100m内概率为91%,误差500m内概率为96%;
comprehension≥90,解析误差100m内概率为89%,误差500m内概率为96%;
comprehension≥80,解析误差100m内概率为88%,误差500m内概率为95%;
comprehension≥70,解析误差100m内概率为84%,误差500m内概率为93%;
comprehension≥60,解析误差100m内概率为81%,误差500m内概率为91%;
comprehension≥50,解析误差100m内概率为79%,误差500m内概率为90%;
//解析误差:地理编码服务解析地址得到的坐标位置,与地址对应的真实位置间的距离。
levelstring可以打点到地址文本中的真实地址结构,
例如问题地址:北京市海淀区北京路百度大厦,level:"道路"
能精确理解的地址类型,包含:UNKNOWN、国家、省、城市、区县、乡镇、村庄、道路、地产小区、商务大厦、政府机构、交叉路口、商圈、生活服务、休闲娱乐、餐饮、宾馆、购物、金融、教育、医疗 、工业园区 、旅游景点 、汽车服务、火车站、长途汽车站、桥 、停车场/停车区、港口/码头、收费区/收费站、飞机场 、机场 、收费处/收费站 、加油站、绿地、门址
analys_levelstring可以解析地址文本中的最小地址结构,
例如问题地址:北京市海淀区北京路百度大厦,analys_level:"POI",
能精确理解的地址类型包含: 省 市 区县 乡镇 道路 门址 POI 。
示例代码
填写您的AK

输入AK可生成包含IP/SN校验方式的代码

<?php
// 此处填写你在控制台-应用管理-创建应用后获取的AK
$ak = '您的AK';
// 发起一个http get请求,并返回请求的结果
// $url字段为请求的地址
// $param字段为请求的参数
function request_get($url = '', $param = array()) {
if (empty($url) || empty($param)) {
return false;
}
$getUrl = $url . "?" . http_build_query($param);
$curl = curl_init(); // 初始化curl
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_URL, $getUrl); // 抓取指定网页
curl_setopt($curl, CURLOPT_TIMEOUT, 1000); // 设置超时时间1秒
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // curl不直接输出到屏幕
curl_setopt($curl, CURLOPT_HEADER, 0); // 设置header
$data = curl_exec($curl); // 运行curl
if (!$data) {
print("an error occured in function request_get(): " . curl_error($curl) . "\n");
}
curl_close($curl);
return $data;
}
// 请求地址
$url = 'https://api.map.baidu.com/geocoding/v3';
// 构造请求参数
$param['address'] = '北京市海淀区上地十街10号';
$param['output'] = 'json';
$param['ak'] = $ak;
$param['callback'] = 'showLocation';
$res = request_get($url, $param);
// 将原始返回的结果打印出来
print("请求的原始返回结果为:\n");
print($res . "\n");
?>
{
"status": 0,
"result": {
"location": {
"lng": 116.30762232672,
"lat": 40.056828485961
},
"precise": 1,
"confidence": 80,
"comprehension": 100,
"level": "门址"
}
}
在线运行
参数备注必选
address
检索行政区划关键字。
行政区划区域检索不支持多关键字检索 关键字可填写:行政区名称("中华人民共和国"/"中国"/"全国",省、市、区和镇名称)以及 adcode;
Adcode信息可参考(百度地图行政区划adcode映射表
output
输出格式为json或者xml
服务状态码
返回码英文描述定义常见原因
0OK正常状态服务请求正常召回
1服务器内部错误
2Parameter Invalid请求参数非法必要参数拼写错误或漏传(如query和tag请求中均未传入)
3Verify Failure权限校验失败服务请求正常召回
4Quota Failure配额校验失败服务当日调用次数已超限,请前往API控制台提升(请优先进行开发者认证
5AK Failureak不存在或者非法未传入ak参数;ak已被删除(可前往回收站恢复)
101AK参数不存在请求消息没有携带AK参数
102不通过白名单或者安全码不对
240APP 服务被禁用用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务
2xx无权限
3xx配额错误

上一篇

使用准备

下一篇

更新日志

本篇文章对您是否有帮助?