zoukankan      html  css  js  c++  java
  • 获取经纬度 后台

    package cn.stopgo.tool;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.UnsupportedEncodingException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    
    public class GetLatAndLngByBaidu {
         /** 
            * @param addr 
            * 查询的地址 
            * @return 
            * @throws IOException 
            */
            public Object[] getCoordinate(String addr) throws IOException { 
                String lng = null;//经度
                String lat = null;//纬度
                String address = null; 
                try { 
                    address = java.net.URLEncoder.encode(addr, "UTF-8"); 
                }catch (UnsupportedEncodingException e1) { 
                    e1.printStackTrace(); 
                } 
                //String key = "f247cdb592eb43ebac6ccd27f796e2d2"; 
               String key= "cS1CFjKqbPd6lbeg7ERsPodT";
                String url = String .format("http://api.map.baidu.com/geocoder?address=%s&output=json&key=%s", address, key); 
                URL myURL = null; 
                URLConnection httpsConn = null; 
                try { 
                    myURL = new URL(url); 
                } catch (MalformedURLException e) { 
                    e.printStackTrace(); 
                } 
                InputStreamReader insr = null;
                BufferedReader br = null;
                try { 
                    httpsConn = (URLConnection) myURL.openConnection();// 不使用代理 
                    if (httpsConn != null) { 
                        insr = new InputStreamReader( httpsConn.getInputStream(), "UTF-8"); 
                        br = new BufferedReader(insr); 
                        String data = null; 
                        int count = 1;
                        while((data= br.readLine())!=null){ 
                            if(count==5){
                                lng = (String)data.subSequence(data.indexOf(":")+1, data.indexOf(","));//经度
                                count++;
                            }else if(count==6){
                                lat = data.substring(data.indexOf(":")+1);//纬度
                                count++;
                            }else{
                                count++;
                            }
                        } 
                    } 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                } finally {
                    if(insr!=null){
                        insr.close();
                    }
                    if(br!=null){
                        br.close();
                    }
                }
                return new Object[]{lng,lat}; 
            } 
          
          
            public static void main(String[] args) throws IOException {
                GetLatAndLngByBaidu getLatAndLngByBaidu = new GetLatAndLngByBaidu();
                Object[] o = getLatAndLngByBaidu.getCoordinate("唐山");
                System.out.println(o[0]);//经度
                System.out.println(o[1]);//纬度
            }
    }
  • 相关阅读:
    1155 Heap Paths (30 分)
    1147 Heaps (30 分)
    1098 Insertion or Heap Sort (25 分)
    12.SpringMVC 获得 请求头信息
    11.SpringMVC 获得Servlet相关API
    10.SpringMVC 自定义类型转换器
    18. VUE 数组的响应式
    017 vue 关于 v-for 指令内部算法
    17. VUE v-show 和 v-if 的区别
    16. VUE 的 小案列
  • 原文地址:https://www.cnblogs.com/baijin05/p/5040266.html
Copyright © 2011-2022 走看看