根据经纬度获取省市区 -- 逆地理编码

维护一个很久之前的项目 需要新增一些功能-在此记录下

后端进行解析--使用百度地图api 

http://api.map.baidu.com/reverse_geocoding/v3/

首先需要登入百度地图开放平台注册AK -- http://lbsyun.baidu.com/apiconsole/key#/home

我这里选中的则是微信小程序

 

下面就是后端代码实现  这里使用为java 请求接口

http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194  //GET请求

   后端逻辑代码

针对百度地图api请求具体参数说明

location : 经纬度 经度在前 纬度在后 以逗号分割 例如 38.76623,116.43213

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

output    : 输出格式

详细内容请访问 --百度地图开发平台服务文档

  http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad

具体实现

    /**
    *  根据经纬度获取位置信息
    *
    * @return
    */
   @RequestMapping("wx/Address")
   @ResponseBody
   public JSONObject getLocationMsg(double latitude, double longitude) {
      String location = latitude + "," + longitude;
   
      String urlString =
            "http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak值&output=json&coordtype=wgs84ll&location=+"
                  + location;
      String res = "";
      try {
         URL url = new URL(urlString);
         java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();
         conn.setDoOutput(true);
         conn.setRequestMethod("POST");
         java.io.BufferedReader in = new java.io.BufferedReader(
               new java.io.InputStreamReader(conn.getInputStream(), "UTF-8"));
         String line;
         while ((line = in.readLine()) != null) {
            res += line + "\n";
         }
         in.close();
      } catch (Exception e) {
         System.out.println("error in wapaction,and e is " + e.getMessage());
      }

      System.out.println(res);
      JSONObject object = JSON.parseObject(res);
      return object;
   }
}

postman请求返回信息

http://xiaoqa.vaiwan.com 这个是自己的内网穿透 大家没必要去访问的

遇到的问题

question 1   

220

APP Referer校验失败

刚进行测试的时候出现该问题,其原因个人推测为 是本地请求没有获取到小程序的APPID 

   解决:修改百度地图开放平台的应用 APPID处为 * 参考图二 。推到线上之后可以改回正常的APPID,多个以逗号分割(为测试)

 

 

2022年完整版行政区划代码表是一个包含了省市区的行政区划信息的电子表格文件,该文件提供了每个行政区划的经纬度、邮编、区号、拼音和简称等信息。 行政区划代码表是为了统一管理和标识我国各级行政区域而制定的一套代码体系。该表中的信息有助于快速准确地获取各个行政区划的相关信息和位置坐标。 经纬度地理坐标系统中标识一个地点位置的数值,可以用于确定一个地区的精确位置。通过行政区划代码表中提供的经纬度信息,可以方便地在地图上准确定位各个行政区域。 邮编是用于邮政投递服务的一种编码方式,通过邮编可以确定一个地方的邮寄地址。行政区划代码表中提供的邮编信息,可以帮助人们快速找到某个行政区域的邮编,方便邮件的投递和收取。 区号是拨打电话时需要输入的一组数字,用于标识不同地区的电话区域。行政区划代码表中列出的区号信息,可以帮助人们区分不同行政区划的电话区域,方便进行电话沟通和联系。 拼音和简称是为了方便查询和识别行政区划而设立的。通过行政区划代码表中提供的拼音和简称信息,人们可以快速查找和辨识各个行政区域,减少理解和识别上的困难。 总之,2022完整版行政区划代码表通过提供经纬度省市区、邮编、区号、拼音和简称等信息,帮助人们更加方便快捷地查询和了解各个行政区划的相关信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值