应用百度地图逆地址解析:经纬度-->地址

我简单的写了个测试,调用结果我已经注释出来了。邮件最后我把百度地图关于这块的说明也贴上来了~  ,这个调用应该是不限次数的。
代码:
     String lat = "39.983424";
     String lon = "116.322987";
     String url =
            "http://api.map.baidu.com/geocoder/v2/?ak=61f8bd72d68aef3a7b66537761d29d82&callback=renderReverse&location="
                + lat + "," + lon + "&output=json&pois=0";
  
    //自己定义的http类,post方法大家可以去网上搜
    HttpTool tool = new HttpTool();
    try
        {
            String jsonStr = tool.post(url,null, null, 1000);
            System.out.println(jsonStr);
//renderReverse&&renderReverse({"status":0,"result":{"location":{"lng":116.322987,"lat":39.983424071404},"formatted_address":"北京市海淀区中关村大街27号1101-08   
// 室","business":"人民大学,中关村,苏州街","addressComponent":{"city":"北京市","district":"海淀区","province":"北京市","street":"中关村大街","street_number":"27号1101-08
//室"},"cityCode":131}})
            String[] address = jsonStr.split("\\(");
            String[] addrJson = address[1].split("\\)");
            
            JSONObject jsonObject = JSONObject.fromObject(addrJson[0]);
            JSONObject addressComponent = jsonObject.getJSONObject("result").getJSONObject("addressComponent");
            String city = addressComponent.getString("city");
            String district = addressComponent.getString("district");
            System.out.println(city);
            //北京市
            System.out.println(district);
            //海淀区
         
        }
        catch (Exception e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
 
 
这是下列说明的地址:http://developer.baidu.com/map/webservice-geocoding.htm#.E4.BB.80.E4.B9.88.E6.98.AFGeocoding.EF.BC.9F

逆地理编码

逆地理编码专属请求参数:

参数 是否必须 默认值 格式举例 含义
coordtype bd09ll bd09ll 百度墨卡托坐标 坐标的类型,目前支持的坐标类型包括:bd09ll(百度墨卡托坐标)、gcj02ll(国测局墨卡托坐标)、wgs84ll( wgs84经纬度)
location 38.76623,116.43213
lat<纬度>,lng<经度>
根据经纬度坐标获取地址
pois 0 0 是否显示指定位置周边的poi,0为不显示,1为显示。当值为1时,显示周边100米内的poi。

 

状态字段:

名称 类型 说明
status constant 返回结果状态值, 成功返回0,其他值请查看附录。
location lat 纬度坐标
lng 经度坐标
formatted_address 结构化地址信息
business 所在商圈信息,如 "人民大学,中关村,苏州街"
addressComponent city 城市名
district 区县名
province 省名
street 街道名
street_number 街道门牌号
pois(周边poi数组) addr 地址信息
cp 数据来源
distance 离坐标点距离
name poi名称
poiType poi类型,如’ 办公大厦,商务大厦’
point poi坐标{x,y}
tel 电话
uid poi唯一标识
zip 邮编

json示例:

http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1

xml示例:

http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1

特别说明:

1.因为Geocoding和反Geocoding使用的门址数据以及算法都不是一样的,所以会出现不能一一对应的现象。

2.逆地址解析location参数传入的参数格式是(纬度lat,经度lng)。

8.返回码状态表

返回码 定义
0 正常
1 服务器内部错误
2 请求参数非法
3 权限校验失败
4 配额校验失败
5 ak不存在或者非法
101 服务禁用
102 不通过白名单或者安全码不对
2xx 无权限
3xx 配额错误
 
 

你可能感兴趣的:(前端)