zoukankan      html  css  js  c++  java
  • JAVA地址通过百度地图API转化为经纬度

    public static Map getLngAndLat(String address) {
            Map map = new HashMap();
            String url = "http://api.map.baidu.com/geocoder/v2/?address=" + address + "&output=json&ak=你的ak";   //这里需要自己申请百度ak
            try {
                String json = loadJSON(url);
                JSONObject obj = JSONObject.fromObject(json);
                if (obj.get("status").toString().equals("0")) {
                    double lng = obj.getJSONObject("result").getJSONObject("location").getDouble("lng");
                    double lat = obj.getJSONObject("result").getJSONObject("location").getDouble("lat");
                    map.put("lng", getDecimal(lng));
                    map.put("lat", getDecimal(lat));
                    //System.out.println("经度:"+lng+"---纬度:"+lat);
                } else {
                    map.put("error", "未找到相匹配的经纬度!");
                    System.out.println("未找到相匹配的经纬度!");
                }
            } catch (Exception e) {
                map.put("error", "未找到相匹配的经纬度,请检查地址");
                System.out.println("未找到相匹配的经纬度!请检查地址");
            }
            return map;
        }
    
        public static double getDecimal(double num) {
            if (Double.isNaN(num)) {
                return 0;
            }
            BigDecimal bd = new BigDecimal(num);
            num = bd.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
            return num;
        }
    
        public static String loadJSON(String url) {
            StringBuilder json = new StringBuilder();
            try {
                URL oracle = new URL(url);
                URLConnection yc = oracle.openConnection();
                BufferedReader in = new BufferedReader(new InputStreamReader(
                        yc.getInputStream(), "UTF-8"));
                String inputLine = null;
                while ((inputLine = in.readLine()) != null) {
                    json.append(inputLine);
                }
                in.close();
            } catch (MalformedURLException e) {
            } catch (IOException e) {
            }
            return json.toString();
        }
    

      

  • 相关阅读:
    设计模式学习笔记--迭代器模式
    设计模式学习笔记--组合模式
    设计模式学习笔记--备忘录模式
    Asp.Net Core IdentityServer4 中的基本概念
    Asp.Net Core 中间件应用实践中你不知道的那些事
    Asp.Net Core Filter 深入浅出的那些事-AOP
    ASP.NET CORE 内置的IOC解读及使用
    ASP.NET CORE 管道模型及中间件使用解读
    ASP.NET CORE 启动过程及源码解读
    Linux +Docker +Nginx 部署代理转发初探
  • 原文地址:https://www.cnblogs.com/pxblog/p/10805353.html
Copyright © 2011-2022 走看看