逆地理编码-百度版
<h3>接口描述</h3>
<ul>
<li>全球逆地理编码服务提供将坐标点(经纬度)转换为对应位置信息(如所在行政区划,周边地标点分布)功能。</li>
</ul>
<h3>请求地址</h3>
<p><code>https://api.jumdata.com/geocode/baidu/regeo/query</code></p>
<h3>请求方式</h3>
<ul>
<li>POST</li>
</ul>
<h3>请求格式</h3>
<ul>
<li>x-www-form-urlencoded</li>
</ul>
<h3>请求参数</h3>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必须</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>服务商分配的唯一标识</td>
</tr>
<tr>
<td>timestamp</td>
<td>Long</td>
<td>是</td>
<td>当前时间戳</td>
</tr>
<tr>
<td>sign</td>
<td>String</td>
<td>是</td>
<td>签名,详见签名算法说明</td>
</tr>
<tr>
<td>location</td>
<td>String</td>
<td>是</td>
<td>根据经纬度坐标获取地址,格式:纬度,经度。例如:120.067824,31.413068。</td>
</tr>
<tr>
<td>coordtype</td>
<td>String</td>
<td>否</td>
<td>坐标的类型,目前支持的坐标类型包括:bd09ll(百度经纬度坐标)、bd09mc(百度米制坐标)、gcj02ll(国测局经纬度坐标,仅限中国)、wgs84( GPS经纬度)。默认bd09ll。</td>
</tr>
<tr>
<td>retCoordtype</td>
<td>String</td>
<td>否</td>
<td>添加后返回国测局经纬度坐标或百度米制坐标。示例:gcj02(国测局坐标,仅限中国)、bd09mc(百度墨卡托坐标)。默认bd09ll。</td>
</tr>
<tr>
<td>extensionsPoi</td>
<td>String</td>
<td>否</td>
<td>extensions_poi=0,不召回pois数据。extensions_poi=1,返回pois数据(默认显示周边1000米内的poi),并返回sematic_description语义化数据。</td>
</tr>
<tr>
<td>extensionsRoad</td>
<td>String</td>
<td>否</td>
<td>当取值为true时,召回坐标周围最近的3条道路数据。默认false。</td>
</tr>
<tr>
<td>extensionsTown</td>
<td>String</td>
<td>否</td>
<td>当取值为true时,行政区划返回乡镇级数据(town),仅国内召回乡镇数据。当取值为false时,行政区划不返回乡镇级数据(town)。默认true。</td>
</tr>
<tr>
<td>radius</td>
<td>String</td>
<td>否</td>
<td>以下内容需要 extensionsPoi=1时才生效;poi召回半径,允许设置区间为0-1000米,超过1000米按1000米召回。默认1000。</td>
</tr>
<tr>
<td>callback</td>
<td>String</td>
<td>否</td>
<td>将json格式的返回值通过callback函数返回以实现jsonp功能。</td>
</tr>
<tr>
<td>poiTypes</td>
<td>String</td>
<td>否</td>
<td>以下内容需要 extensionsPoi=1时才生效;可以选择poi类型召回不同类型的poi,例如poiTypes=酒店,如想召回多个POI类型数据,可以&#124;分割,例如poiTypes=酒店&#124;房地产,不添加该参数则默认召回全部POI分类数据。</td>
</tr>
<tr>
<td>language</td>
<td>String</td>
<td>否</td>
<td>指定召回的行政区划语言类型。 召回行政区划语言list(全量支持的语言见示例)。 当language=local时,根据请求中坐标所对应国家的母语类型,自动选择对应语言类型的行政区划召回。目前支持多语言的行政区划区划包含country、province、city、district。包含: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</td>
</tr>
<tr>
<td>languageAuto</td>
<td>String</td>
<td>否</td>
<td>当用户指定language参数时,是否自动填充行政区划。1填充,0不填充。填充:当服务按某种语言类别召回时,若某一行政区划层级的语言数据未覆盖,则按照“英文→中文→本地语言”类别行政区划数据对该层级行政区划进行填充,保证行政区划数据召回完整性。</td>
</tr>
</tbody>
</table>
<h3>签名算法说明</h3>
<p><code>sign = sha256(appId + appSecret + timestamp)</code></p>
<p>用服务商分配的 appId、服务商分配的 appSecret,当前时间时间戳 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:</p>
<pre><code class="language-java">String appId = &quot;xyzxy2121zxyz&quot;;
String timestamp = &quot;1555378976238&quot;;
String appSecret = &quot;efcefcef1121cefcefc1212121&quot;;
String str = appId + appSecret + timestamp;
String sign = sha256(str);</code></pre>
<h3>成功返回样例</h3>
<pre><code class="language-json">{
&quot;charge&quot;: true,//计费标志
&quot;code&quot;: 200,//返回码,详见返回码说明
&quot;msg&quot;: &quot;成功&quot;,//返回码对应描述
&quot;taskNo&quot;: &quot;007493807239868764046631&quot;,//本次请求号
&quot;data&quot;: {
&quot;formatted_address&quot;: &quot;江苏省无锡市滨湖区&quot;,//结构化地址(不包含POI信息)。如果需要标准的结构化地址,比如获取XX路XX号,推荐使用这个参数
&quot;business&quot;: &quot;&quot;,//坐标所在商圈信息,如 &quot;人民大学,中关村,苏州街&quot;。最多返回3个。
&quot;sematic_description&quot;: &quot;梨梨园上草土菜馆客栈西888米&quot;,//当前位置结合POI的语义化结果描述。需设置extensionsPoi=1才能返回。
&quot;roads&quot;: [
{
&quot;name&quot;: &quot;&quot;,//周边道路名称
&quot;distance&quot;: &quot;&quot;//传入的坐标点距离道路的大概距离
}
],
&quot;formatted_address_poi&quot;: &quot;江苏省无锡市滨湖区马山街道梨梨园上草土菜馆客栈西888米&quot;,//结构化地址(包含POI信息)。需设置extensions_poi=1才能返回。如果需要详细的地址描述,推荐使用这个参数。
&quot;location&quot;: {
&quot;lng&quot;: 120.06782399999993,//经度值
&quot;lat&quot;: 31.413067895001422 //纬度值
},
&quot;edz&quot;: {//所属开发区
&quot;name&quot;: &quot;&quot; //
},
&quot;poiRegions&quot;: [
{
&quot;direction_desc&quot;: &quot;&quot;,//请求中的坐标与所归属区域面的相对位置关系
&quot;name&quot;: &quot;&quot;,//归属区域面名称
&quot;tag&quot;: &quot;&quot;,//归属区域面类型
&quot;distance&quot;: &quot;&quot;,//离坐标点距离
&quot;uid&quot;: &quot;&quot;,//poi唯一标识
}
],
&quot;pois&quot;: [
{
&quot;zip&quot;: &quot;&quot;,//邮编
&quot;uid&quot;: &quot;60c55c3bd4fbb98c276e98a7&quot;,//poi唯一标识
&quot;distance&quot;: &quot;888&quot;,//离坐标点距离
&quot;poiType&quot;: &quot;美食&quot;,//
&quot;name&quot;: &quot;梨梨园上草土菜馆客栈&quot;,//poi名称
&quot;tel&quot;: &quot;&quot;,//电话
&quot;parent_poi&quot;: {//poi对应的主点poi(如,海底捞的主点为上地华联,该字段则为上地华联的poi信息。如无,该字段为空),包含子字段和pois基础召回字段相同。
&quot;uid&quot;: &quot;&quot;,//
&quot;distance&quot;: &quot;&quot;,//
&quot;name&quot;: &quot;&quot;,//
&quot;tag&quot;: &quot;&quot;,//
&quot;addr&quot;: &quot;&quot;,//
&quot;point&quot;: {
&quot;x&quot;: 0,//
&quot;y&quot;: 0 //
},
&quot;direction&quot;: &quot;&quot;//
},
&quot;tag&quot;: &quot;美食&quot;,//poi类型,如’美食;中餐厅’。tag与poiType字段均为poi类型,建议使用tag字段,信息更详细
&quot;addr&quot;: &quot;江苏省无锡市滨湖区马山镇和平村北门环山西路91号&quot;,//地址信息
&quot;cp&quot;: &quot; &quot;,//
&quot;point&quot;: {//poi坐标
&quot;x&quot;: 120.07520393899887,//
&quot;y&quot;: 31.410457606202677 //
},
&quot;direction&quot;: &quot;西&quot;//和当前坐标点的方向
}
],
&quot;addressComponent&quot;: {//注意,国外行政区划,字段仅代表层级
&quot;city_level&quot;: 2,//城市所在级别(仅国外有参考意义。国外行政区划与中国有差异,城市对应的层级不一定为『city』。country、province、city、district、town分别对应0-4级,若city_level=3,则district层级为该国家的city层级)
&quot;country&quot;: &quot;中国&quot;,//国家
&quot;town&quot;: &quot;马山街道&quot;,//乡镇名,需设置extensions_town=true时才会返回
&quot;distance&quot;: &quot;&quot;,//区县名
&quot;city&quot;: &quot;无锡市&quot;,//城市名
&quot;adcode&quot;: &quot;320211&quot;,//行政区划代码
&quot;country_code_iso&quot;: &quot;CHN&quot;,//国家英文缩写(三位)
&quot;country_code_iso2&quot;: &quot;CN&quot;,//国家英文缩写(两位)
&quot;country_code&quot;: 0,//国家编码
&quot;town_code&quot;: &quot;320211009&quot;,//乡镇id
&quot;province&quot;: &quot;江苏省&quot;,//省名
&quot;street&quot;: &quot;&quot;,//道路名
&quot;district&quot;: &quot;滨湖区&quot;,//相对当前坐标点的距离,当有门牌号的时候返回数据
&quot;street_number&quot;: &quot;&quot;,//道路门牌号
&quot;direction&quot;: &quot;&quot;//相对当前坐标点的方向,当有门牌号的时候返回数据
}
}
}</code></pre>
<h3>失败返回样例</h3>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;参数不正确&quot;,
&quot;code&quot;: 400
}</code></pre>
<h3>返回字段说明</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>返回码,详见返回码说明</td>
</tr>
<tr>
<td>msg</td>
<td>code对应的描述</td>
</tr>
<tr>
<td>charge</td>
<td>计费标志</td>
</tr>
<tr>
<td>taskNo</td>
<td>本次请求号</td>
</tr>
<tr>
<td>data</td>
<td>返回具体结果,详见成功返回样例</td>
</tr>
</tbody>
</table>
<h4>code返回码说明</h4>
<table>
<thead>
<tr>
<th>code</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功(计费)</td>
</tr>
<tr>
<td>400</td>
<td>参数错误</td>
</tr>
<tr>
<td>404</td>
<td>请求地址不正确</td>
</tr>
<tr>
<td>500</td>
<td>服务商维护,请稍候再试</td>
</tr>
<tr>
<td>601</td>
<td>接口未开通</td>
</tr>
<tr>
<td>602</td>
<td>账号停用</td>
</tr>
<tr>
<td>603</td>
<td>余额不足请充值</td>
</tr>
<tr>
<td>604</td>
<td>接口停用</td>
</tr>
<tr>
<td>606</td>
<td>调用超限,请稍候再试</td>
</tr>
<tr>
<td>607</td>
<td>ip不在白名单</td>
</tr>
<tr>
<td>609</td>
<td>请求过于频繁,请稍候再试</td>
</tr>
<tr>
<td>610</td>
<td>请求超时</td>
</tr>
<tr>
<td>999</td>
<td>其他,以实际返回为准</td>
</tr>
</tbody>
</table>