zoukankan      html  css  js  c++  java
  • 24.-----------详细地址转经纬度

    package com.dapail.util;
    
    import java.io.BufferedReader;  
    import java.io.IOException;  
    import java.io.InputStreamReader;  
    import java.net.URL;  
    import java.net.URLEncoder;  
    import java.util.HashMap;  
    import java.util.Map;  
      
      
    import org.apache.commons.lang.StringUtils;  
     /**
      * 地址转经纬度 
      * @author Administrator
      *
      */
      
    public class AddressToGpsUtil {  
      
      
        public static final String KEY_1 = "7d9fbeb43e975cd1e9477a7e5d5e192a";  
      
      
      
      
        /** 
         * 返回输入地址的经纬度坐标 
         * key lng(经度),lat(纬度) 
         */  
        public static Map<String,String> getGeocoderLatitude(String address){  
            BufferedReader in = null;  
            try {  
                //将地址转换成utf-8的16进制  
                address = URLEncoder.encode(address, "UTF-8");  
                URL tirc = new URL("http://api.map.baidu.com/geocoder?address="+ address +"&output=json&key="+ KEY_1);  
      
      
                in = new BufferedReader(new InputStreamReader(tirc.openStream(),"UTF-8"));  
                String res;  
                StringBuilder sb = new StringBuilder("");  
                while((res = in.readLine())!=null){  
                    sb.append(res.trim());  
                }  
                String str = sb.toString();  
                Map<String,String> map = null;  
                if(StringUtils.isNotEmpty(str)){  
                    int lngStart = str.indexOf("lng":");  
                    int lngEnd = str.indexOf(","lat");  
                    int latEnd = str.indexOf("},"precise");  
                    if(lngStart > 0 && lngEnd > 0 && latEnd > 0){  
                        String lng = str.substring(lngStart+5, lngEnd);  
                        String lat = str.substring(lngEnd+7, latEnd);  
                        map = new HashMap<String,String>();  
                        map.put("lng", lng);  
                        map.put("lat", lat);  
                        return map;  
                    }  
                }  
            }catch (Exception e) {  
                e.printStackTrace();  
            }finally{  
                try {  
                    in.close();  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
            return null;  
        }  
          
        public static void main(String args[]){  
            try {  
                Map<String, String> json = AddressToGpsUtil.getGeocoderLatitude("湖北省黄冈市麻城市金龙大道");  
                System.out.println("lng : " + json.get("lng"));  
                System.out.println("lat : " + json.get("lat"));  
            }catch (Exception e ){  
               e.printStackTrace();  
            }  
        }  
      
      
    }  
  • 相关阅读:
    Relativity 01: Physical Meaning of Geometrical Propositions
    Algo 2: Asymptotic Order of Growth
    CShop Project : BeanUtils工具的使用
    137 __getattribute__
    134 isinstance和issubclass
    135 反射(hasattr和getattr和setattr和delattr)
    133 面向对象进阶实战之选课系统
    132 面向对象进阶小结
    131 类和对象的绑定方法及非绑定方法
    130 类的property特性
  • 原文地址:https://www.cnblogs.com/coriander/p/7087065.html
Copyright © 2011-2022 走看看