java 根据经纬度获取地址

    
//java根据经纬度获取地址
public class GetLocation {  
        public static void main(String[] args) {  
            // lat 39.97646       
            //log 116.3039   
            String add = getAdd("116.3039", "39.97646");  
            JSONObject jsonObject = JSONObject.fromObject(add);  
            JSONArray jsonArray = JSONArray.fromObject(jsonObject.getString("addrList"));  
            JSONObject j_2 = JSONObject.fromObject(jsonArray.get(0));  
            String allAdd = j_2.getString("admName");  
            String arr[] = allAdd.split(",");  
            System.out.println("省:"+arr[0]+"\n市:"+arr[1]+"\n区:"+arr[2]);  
        }  
          
        public static String getAdd(String log, String lat ){  
            //lat 小  log  大  
            //参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)  
            String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010";  
            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);  
            return res;    
        }  
          
    }  




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
可以使用 Google Maps API 来获取地址信息。首先需要去 Google Cloud Platform 注册账号并获取 API 密钥,然后就可以使用 Java 语言调用 Google Maps API 来根据经纬度获取地址信息了。 具体地,可以使用 Java 的 HttpURLConnection 类来发送 HTTP 请求,然后解析响应内容就可以得到地址信息。例如,以下代码展示了如何调用 Google Maps API 来根据经纬度获取地址信息: ``` import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class Main { public static void main(String[] args) throws Exception { // 经纬度坐标 double lat = 39.9042; double lng = 116.4074; // 调用 Google Maps API 获取地址信息 String key = "YOUR_API_KEY"; String url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lng + "&key=" + key; HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); conn.setRequestMethod("GET"); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; StringBuilder result = new StringBuilder(); while ((line = in.readLine()) != null) { result.append(line); } in.close(); // 解析响应内容获取地址信息 // TODO: 具体实现省略 } } ``` 这段代码中,我们使用 HttpURLConnection 类发送了一个 HTTP GET 请求,请求的 URL 中包含了经纬度坐标和 API 密钥。当服务器响应请求后,我们使用 BufferedReader 读取响

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值