用户可通过该功能,将结构化地址(省/市/区/街道/门牌号)解析为对应的位置坐标。地址结构越完整,地址内容越准确,解析的坐标精度越高。
当前为V3.0版本接口文档,V2.0及以前版本自2019.6.18起新用户无法使用。老用户仍可继续使用V2.0及以前版本请求实现全球逆地理编码服务,为保障用户体验,建议您尽快迁移到V3.0版本。
https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation
//GET请求
参数名称 | 参数含义 | 示例 | 类型 | 默认值 | 必选 |
---|---|---|---|---|---|
address | 待解析的地址。最多支持84个字节。 | 北京市海淀区上地十街10号 | string | 无 | 是 |
ak | 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key”申请ak | 无 | string | 是 | |
city | 地址所在的城市名。用于指定上述地址所在的城市,当多个城市都有上述地址时,该参数起到过滤作用,但不限制坐标召回城市。 | 北京市 | string | 无 | 否 |
ret_coordtype | 返回的坐标类型,可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明 | gcj02ll(国测局坐标)、bd09mc(百度墨卡托坐标) | string | bd09ll(百度经纬度坐标) | 否 |
sn | 若用户所用ak的校验方式为sn校验时该参数必须sn生成 | 无 | string | 否 | |
output | 输出格式为json或者xml | json或xml | string | xml | 否 |
callback | 将json格式的返回值通过callback函数返回以实现jsonp功能 | callback=showLocation(JavaScript函数名) | string | 无 | 否 |
extension_analys_level | 是否触发解析到最小地址结构功能 | extension_analys_level=1或true时,触发analys_level;字段返回参数; | string | 0 | 否 |
返回参数 | 类型 | 备注 | |||
---|---|---|---|---|---|
status | int | 本次API访问状态,如果成功返回0,如果失败返回其他数字。(见服务状态码) | |||
result | object | 返回的结果 | |||
location | object | 经纬度坐标 | |||
lng | float | 经度值 | |||
lat | float | 纬度值 | |||
precise | int | 位置的附加信息,是否精确查找。1为精确查找,即准确打点;0为不精确,即模糊打点。 | |||
confidence | int | 描述打点绝对精度(即坐标点的误差范围)。 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; | |||
comprehension | int | 描述地址理解程度。分值范围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%; //解析误差:地理编码服务解析地址得到的坐标位置,与地址对应的真实位置间的距离。 | |||
level | string | 可以打点到地址文本中的真实地址结构, 例如问题地址:北京市海淀区北京路百度大厦,level:"道路" 能精确理解的地址类型,包含:UNKNOWN、国家、省、城市、区县、乡镇、村庄、道路、地产小区、商务大厦、政府机构、交叉路口、商圈、生活服务、休闲娱乐、餐饮、宾馆、购物、金融、教育、医疗 、工业园区 、旅游景点 、汽车服务、火车站、长途汽车站、桥 、停车场/停车区、港口/码头、收费区/收费站、飞机场 、机场 、收费处/收费站 、加油站、绿地、门址 | |||
analys_level | string | 可以解析地址文本中的最小地址结构, 例如问题地址:北京市海淀区北京路百度大厦,analys_level:"POI", 能精确理解的地址类型包含: 省 市 区县 乡镇 道路 门址 POI 。 |
输入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(); // 初始化curlcurl_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); // 运行curlif (!$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 | 否 |
0 | OK | 正常状态 | 服务请求正常召回 |
1 | 服务器内部错误 | ||
2 | Parameter Invalid | 请求参数非法 | 必要参数拼写错误或漏传(如query和tag请求中均未传入) |
3 | Verify Failure | 权限校验失败 | 服务请求正常召回 |
4 | Quota Failure | 配额校验失败 | 服务当日调用次数已超限,请前往API控制台提升(请优先进行开发者认证) |
5 | AK Failure | ak不存在或者非法 | 未传入ak参数;ak已被删除(可前往回收站恢复) |
101 | AK参数不存在 | 请求消息没有携带AK参数 | |
102 | 不通过白名单或者安全码不对 | ||
240 | APP 服务被禁用 | 用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务 | |
2xx | 无权限 | ||
3xx | 配额错误 |
上一篇
下一篇
本篇文章对您是否有帮助?