java根据地址获取百度API经纬度

java根据地址获取百度API经纬度(详细文档)

复制代码
 1 public void getLarLng(String address) throws Exception {
 2 
 3         String ak = "vZ5wAkH9uc6mCnrhtYWey2fBHBmU9Rh5";
 4 
 5         String addressUrl = "http://api.map.baidu.com/geocoder/v2/?address=" + address + "&output=json&ak=" + ak + "&callback=showLocation";
 6 
 7         URL url = new URL(addressUrl);
 8 
 9         InputStream inputStream = url.openStream();
10 
11         String string = IOUtils.toString(inputStream);
12 
13         // showLocation&&showLocation({"status":0,"result":{"location":{"lng":121.4423987575458,"lat":30.939981749234133},"precise":1,"confidence":80,"level":"道路"}})
14 
15         System.out.println(string);
16 
17         int len = string.length();
18 
19         String substring = string.substring(27, len - 1);
20 
21         // {"status":0,"result":{"location":{"lng":121.4423987575458,"lat":30.939981749234133},"precise":1,"confidence":80,"level":"道路"}}
22         System.out.println(substring);
23 
24         JSONObject jsonObject = JSONObject.parseObject(substring);
25 
26         String status = jsonObject.getString("status");
27 
28         Double lng = 0.0;
29 
30         Double lat = 0.0;
31 
32         if (status.equals("0")){
33 
34             lng = jsonObject.getJSONObject("result").getJSONObject("location").getDouble("lng");
35 
36             lat = jsonObject.getJSONObject("result").getJSONObject("location").getDouble("lat");
37         }
38 
39         if (Double.isNaN(lng)){
40             System.out.println(0);
41         }
42         BigDecimal bd = new BigDecimal(lng);
43         // 保留小数点后六位 并做四舍五入
44         double v = bd.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
45 
46         System.out.println(v);
47         System.out.println(lat);
48     }
复制代码

 

posted @   低调的小白  阅读(2850)  评论(2编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示