美文网首页
百度地图根据经纬度反查省市区或附件位置

百度地图根据经纬度反查省市区或附件位置

作者: shawnleng | 来源:发表于2019-10-11 17:59 被阅读0次

    小冷在使用百度地图滑动回调监听附近位置时候,发现省市区这几个字段拿不到,但经纬度可以拿到,项目中省市区这三个字段又必须要取到,所以只能通过先通过经纬度信息调用百度地图api 反解省市区信息。


    83b9b26ce206066a4ca2c17e6b9ffcd.png

    1. 需要参数

    
    "http://api.map.baidu.com/geocoder/v2/?ak=key&mcode=mcode" + latitude + "," + longitude + "&output=json&pois=1"
    
    

    替换url中的key和mcode和经纬度

    1. key (申请的key)
    2. mcode(百度地图控制台的sha1+包名拼成的串)
    3. 经纬度

    2.方法

        private void getLocation(final float longitude, final float latitude) {
    
            new Thread() {
                @Override
                public void run() {
                    super.run();
                    try {
                        URL url = new URL("http://api.map.baidu.com/geocoder/v2/?ak=key&mcode=mcode" + latitude + "," + longitude + "&output=json&pois=1");
                        HttpURLConnection ucon = (HttpURLConnection) url.openConnection();
                        ucon.connect();
    
                        InputStream in = ucon.getInputStream();
                        BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
                        String str = reader.readLine();
                        //outprint.print(str);
                        str = str.substring(str.indexOf("(") + 1, str.length() - 1);
          /*              str = str.substring(str.indexOf("(") + 1, str.length()-1);
                        //outprint.print(str);
    
                        JSONObject jsonObject = new JSONObject(str);
                        String address = "";
                        address = jsonObject.getJSONObject("result").getString("formatted_address");*/
                        AddressModel addressModel = GsonUtil.fromJson(str, AddressModel.class);
                        addressComponent = addressModel.getResult().getAddressComponent();
                        handler.sendEmptyMessage(1);
    
    
                        Log.i("", "");
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
    
    
        }
    

    相关文章

      网友评论

          本文标题:百度地图根据经纬度反查省市区或附件位置

          本文链接:https://www.haomeiwen.com/subject/qijxmctx.html