java调用百度地图API通过URL根据地理位置中文处理返回值获取经纬度

百度地图api地址:http://developer.baidu.com/map/
简单样例使用:

String sCurrentLine = "";
            String sTotalString = "";
            String lat = "";
            String lng = "";
            try {  
            String sURL ="http://api.map.baidu.com/geocoder/v2/?address="+addressString+
                    "&output=json&ak=F6b7ec696d76b327964518ffb1c2e86c&callback=showLocation";
            java.net.URL l_url = new java.net.URL(sURL);
            java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
            l_connection.connect();
            java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_connection.getInputStream()));
            while ((sCurrentLine = l_reader.readLine()) != null)

            {
                sTotalString+=sCurrentLine;
                lat = sTotalString.substring(sTotalString.indexOf("\"lat\":") 
                         + ("\"lat\":").length(), sTotalString.indexOf("},\"precise\""));
                lng = sTotalString.substring(sTotalString.indexOf("\"lng\":") 
                            + ("\"lng\":").length(), sTotalString.indexOf(",\"lat\""));
            } 
            l_reader.close();
            } catch (Exception e) {  
            }  
            if (StringUtils.hasText(lat)&&StringUtils.hasText(lng)&&Float.valueOf(lng)>104.2869 && Float.valueOf(lng)<107.6536&&
                    Float.valueOf(lat)>35.2494&&Float.valueOf(lat)<39.8758) {
                nx12369ReportEntity.setLat(lat);
                nx12369ReportEntity.setLng(lng);
                tableService.updateAddress(nx12369ReportEntity);
            }

实际应用代码:

String sCurrentLine = "";
        String sTotalString = "";
        String lat = "";
        String lng = "";
        String addressString = "宁夏回族自治区环境保护厅";
        try {  
        String sURL ="http://api.map.baidu.com/geocoder/v2/?address="+addressString+
                "&output=json&ak=F6b7ec696d76b327964518ffb1c2e86c&callback=showLocation";
        java.net.URL l_url = new java.net.URL(sURL);
        java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection();
        l_connection.connect();
        java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_connection.getInputStream()));
        while ((sCurrentLine = l_reader.readLine()) != null)

        {
            sTotalString+=sCurrentLine;
            lat = sTotalString.substring(sTotalString.indexOf("\"lat\":") 
                     + ("\"lat\":").length(), sTotalString.indexOf("},\"precise\""));
            lng = sTotalString.substring(sTotalString.indexOf("\"lng\":") 
                        + ("\"lng\":").length(), sTotalString.indexOf(",\"lat\""));
        } 
        l_reader.close();
        } catch (Exception e) {  
        }  
        if (StringUtils.hasText(lat)&&StringUtils.hasText(lng)) {
            System.out.println("经度为"+lat);
            System.out.println("纬度为"+lng);
        }
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值