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]);//纬度
            }
    }
  • 相关阅读:
    Debian apt-get 无法补全
    Python 字典排序
    Python 替换字符串
    Debian 7 64位安装 wine
    Python Virtualenv 虚拟环境
    ASP.NET MVC ModelState
    Oracle存储过程写法
    利用ODBC从SQLServer向Oracle中导数据
    web自定义控件UserControl
    工作笔记
  • 原文地址:https://www.cnblogs.com/baijin05/p/5040266.html
Copyright © 2011-2022 走看看