全球逆地理编码服务提供将坐标点(经纬度)转换为对应位置信息(如所在行政区划,周边地标点分布)功能。
全球逆地理编码返回的行政区划按照民政部标准进行更新,如果您对工业园区等区划范围有特殊需要,可以使用返回参数edz下的name字段,详情请参考返回参数表。
https://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194
//GET请求
注意:当前为V3.0版本接口文档,V2.0及以前版本自2019.6.18起新用户无法使用。老用户仍可继续使用V2.0及以前版本请求实现全球逆地理编码服务,为保障用户体验,建议您尽快迁移到V3.0版本。
如在使用V3.0 时“鉴权失败“ 可在”控制台“->"查看应用"->“设置” 确认是否已获得“全球逆地理编码服务”权限。 如有其他问题,可通过“反馈与帮助”反馈给我们。
参数名称 | 参数含义 | 示例 | 类型 | 默认值 | 必选 |
---|---|---|---|---|---|
location | 根据经纬度坐标获取地址。 | 38.76623,116.43213lat<纬度>,lng<经度> | string | 无 | 是 |
ak | 用户申请注册的key,自v2开始参数修改为“ak”,之前版本参数为“key”申请ak | E4805d16******93a3fe70 | string | 无 | 是 |
coordtype | 传入的坐标类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标,仅限中国)、wgs84ll( GPS经纬度)坐标系说明 | bd09ll、gcj02ll | string | bd09ll | 否 |
ret_coordtype | 返回的坐标类型,可选参数,添加后返回国测局经纬度坐标或百度米制坐标 坐标系说明 | gcj02ll(国测局坐标,仅限中国)、bd09mc(百度墨卡托坐标) | string | bd09ll(百度经纬度坐标) | 否 |
extensions_poi | extensions_poi=0,不召回pois数据。 | 0 | string | 无 | 否 |
extensions_road | 当取值为true时,召回坐标周围最近的3条道路数据。 | false、true | string | false | 否 |
radius | 以下内容需要 extensions_poi=1时才生效; | 500 | int | 1000 | 否 |
sn | 若用户所用ak的校验方式为sn校验时该参数必须sn生成 | string | 无 | 否 | |
output | 输出格式为json或者xml | json或xml | string | xml | 否 |
callback | 将json格式的返回值通过callback函数返回以实现jsonp功能 | callback=showLocation(JavaScript函数名) | string | 无 | 否 |
poi_types | 以下内容需要 extensions_poi=1时才生效; | poi_types=酒店 | string | 无 | 否 |
language | 指定召回的行政区划语言类型。 召回行政区划语言list(全量支持的语言见示例)。 当language=local时,根据请求中坐标所对应国家的母语类型,自动选择对应语言类型的行政区划召回。 | el gu en vi ca it iw sv eu ar cs gl id es en-GB ru sr nl pt tr tl lv en-AU lt th ro fil ta fr bg hr bn de hu fa hi pt-BR fi da ja te pt-PT ml ko kn sk zh-CN pl uk sl mr local | string | en,国内默认zh-CN | 否 |
language_auto | 当用户指定language参数时,是否自动填充行政区划。 | 0、1 | int | 无 | 否 |
返回参数 | 类型 | 备注 | |||
---|---|---|---|---|---|
status | int | 本次API访问状态,如果成功返回0,如果失败返回其他数字。(见服务状态码) | |||
result | object | 返回的结果 | |||
location | object | 经纬度坐标 | |||
lng | float | 经度值 | |||
lat | float | 纬度值 | |||
formatted_address_poi | string | 结构化地址(包含POI信息)。需设置extensions_poi=1才能返回。如果需要详细的地址描述,推荐使用这个参数。 | |||
formatted_address | string | 结构化地址(不包含POI信息)。如果需要标准的结构化地址,比如获取XX路XX号,推荐使用这个参数 | |||
edz | object | 所属开发区 | |||
name | string | 开发区/工业区等非行政区划区域名称 | |||
business | string | 坐标所在商圈信息,如 "人民大学,中关村,苏州街"。最多返回3个。 | |||
addressComponent | object | 注意,国外行政区划,字段仅代表层级 | |||
country | string | 国家 | |||
country_code | int | 国家编码 | |||
country_code_iso | string | 国家英文缩写(三位) | |||
country_code_iso2 | string | 国家英文缩写(两位) | |||
province | string | 省名 | |||
city | string | 城市名,如果经纬度所在城市是省辖县或者省辖县级市,返回的city结果为空。 | |||
city_level | int | 城市所在级别(仅国外有参考意义。国外行政区划与中国有差异,城市对应的层级不一定为『city』。country、province、city、district、town分别对应0-4级,若city_level=3,则district层级为该国家的city层级) | |||
district | string | 区县名 | |||
town | string | 乡镇名 | |||
town_code | string | 乡镇id | |||
street | string | 道路名 | |||
street_number | string | 道路门牌号 | |||
adcode | int | 行政区划代码,前往下载 | |||
direction | string | 相对当前坐标点的方向,当有门牌号的时候返回数据 | |||
distance | string | 相对当前坐标点的距离,当有门牌号的时候返回数据 | |||
pois | 周边poi数组 | ||||
addr | string | 地址信息 | |||
cp | string | 数据来源(已废弃) | |||
direction | string | 和当前坐标点的方向 | |||
distance | int | 离坐标点距离 | |||
name | string | poi名称 | |||
tag | string | poi类型,如’美食;中餐厅’。tag与poiType字段均为poi类型,建议使用tag字段,信息更详细。poi详细类别 | |||
point | float | poi坐标{x,y} | |||
tel | int | 电话 | |||
uid | string | poi唯一标识 | |||
zip | int | 邮编 | |||
parent_poi | object | poi对应的主点poi(如,海底捞的主点为上地华联,该字段则为上地华联的poi信息。如无,该字段为空),包含子字段和pois基础召回字段相同。 | |||
roads | array | ||||
name | string | 周边道路名称 | |||
distance | string | 传入的坐标点距离道路的大概距离 | |||
direction | string | 输入点和道路的相对方向 | |||
location | string | 坐标点 | |||
poiRegions | |||||
direction_desc | string | 请求中的坐标与所归属区域面的相对位置关系 | |||
name | string | 归属区域面名称 | |||
tag | string | 归属区域面类型 | |||
distance | string | 离坐标点距离 | |||
uid | string | poi唯一标识 | |||
sematic_description | string | 当前位置结合POI的语义化结果描述。需设置extensions_poi=1才能返回。 | |||
cityCode | int | 百度定义的城市id(正常更新与维护,但建议使用adcode) |
输入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/reverse_geocoding/v3';// 构造请求参数$param['ak'] = $ak;$param['output'] = 'json';$param['coordtype'] = 'wgs84ll';$param['extensions_poi'] = '0';$param['location'] = '31.225696563611,121.49884033194';$res = request_get($url, $param);// 将原始返回的结果打印出来print("请求的原始返回结果为:\n");print($res . "\n");?>
{"status": 0,"result": {"location": {"lng": 121.50989077799083,"lat": 31.22932842411674},"formatted_address": "上海市黄浦区中山南路187","edz": {"name": ""},"business": "外滩,陆家嘴,董家渡","addressComponent": {"country": "中国","country_code": 0,"country_code_iso": "CHN","country_code_iso2": "CN","province": "上海市","city": "上海市","city_level": 2,"district": "黄浦区","town": "小东门街道","town_code": "310101017","distance": "91","direction": "东北","adcode": "310101","street": "中山南路","street_number": "187"},"pois": [],"roads": [],"poiRegions": [],"sematic_description": "","formatted_address_poi": "","cityCode": 289}}
参数 | 值 | 备注 | 必选 |
---|---|---|---|
location | 根据经纬度坐标获取地址。 | 是 | |
coordtype | 坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标,仅限中国)、wgs84( GPS经纬度)坐标系说明 | 否 | |
output | 输出格式为json或者xml | 否 | |
extensions_poi | extensions_poi=0,不召回pois数据。 extensions_poi=1,返回pois数据(默认显示周边1000米内的poi),并返回sematic_description语义化数据和formatted_address_poi 结构化地址(包含POI信息) | 否 |
0 | 正常 | 服务请求正常召回 |
1 | 服务器内部错误 | 该服务响应超时或系统内部错误,请留下联系方式 |
2 | 参数错误 | 坐标类型错误,location格式错误 |
10 | 上传内容超过8M | Post上传数据不能超过8M |
101 | AK参数不存在 | 请求消息没有携带AK参数 |
102 | MCODE参数不存在,mobile类型mcode参数必需 | 对于Mobile类型的应用请求需要携带mcode参数,该错误码代表服务器没有解析到mcode |
200 | APP不存在,AK有误请检查再重试 | 根据请求的AK,找不到对应的APP |
201 | APP被用户自己禁用,请在控制台解禁 | |
202 | APP被管理员删除 | 恶意APP被管理员删除 |
203 | APP类型错误 | 当前API控制台支持Server(类型1), Mobile(类型2, 新版控制台区分为Mobile_Android(类型21)及Mobile_IPhone(类型22))及Browser(类型3),除此之外其他类型认为是APP类型错误 |
210 | APP IP校验失败 | 在申请SERVER类型应用的时候选择IP校验,需要填写IP白名单,如果当前请求的IP地址不在IP白名单或者不是0.0.0.0/0就认为IP校验失败 |
211 | APP SN校验失败 | SERVER类型APP有两种校验方式IP校验和SN校验,当用户请求的SN和服务端计算出来的SN不相等的时候提示SN校验失败 |
220 | APP Referer校验失败 | 浏览器类型的APP会校验referer字段是否存且切在referer白名单里面,否则返回该错误码 |
230 | APP Mcode码校验失败 | 服务器能解析到mcode,但和数据库中不一致,请携带正确的mcode |
240 | APP 服务被禁用 | 用户在API控制台中创建或设置某APP的时候禁用了某项服务,若需开通权限,可进入API控制台为AK勾选对应服务 |
250 | 用户不存在 | 根据请求的user_id, 数据库中找不到该用户的信息,请携带正确的user_id |
251 | 用户被自己删除 | 该用户处于未激活状态 |
252 | 用户被管理员删除 | 恶意用户被加入黑名单 |
260 | 服务不存在 | 服务器解析不到用户请求的服务名称 |
261 | 服务被禁用 | 该服务已下线,请在控制台确认是否有该服务的权限。 |
302 | 天配额超限,限制访问 | 配额超限,如果想增加配额请联系我们 |
401 | 当前并发量已经超过约定并发配额,限制访问 | 并发控制超限,请控制并发量或联系我们 |
上一篇
下一篇
本篇文章对您是否有帮助?