<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    百度地圖API中g(shù)eocoding的用法

    Posted on 2012-11-06 13:42 kiss_xian 閱讀(5826) 評論(3)  編輯  收藏

            最近看百度地圖官方API,寫了一個通過地址獲取經(jīng)緯度,
    或者通過經(jīng)緯度得到詳細(xì)地址的工具類方法,源碼如下:

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.util.HashMap;
    import java.util.Map;

    public class LatitudeUtils {
     
     public static final String KEY_1 = "327db7009617d6806b9c38e819ea06ac"; 
     /**
      * 返回輸入地址的經(jīng)緯度坐標(biāo)
      * key lng(經(jīng)度),lat(緯度)
      */
     public static Map<String,String> getLatitude(String address){
      try {
    //  將地址轉(zhuǎn)換成utf-8的16進(jìn)制
         address = URLEncoder.encode(address, "UTF-8");
    //  如果有代理,要設(shè)置代理,沒代理可注釋
    //  System.setProperty("http.proxyHost","192.168.172.23");
    //  System.setProperty("http.proxyPort","3209");
       URL resjson = new URL("http://api.map.baidu.com/geocoder?address="
                          + address +"&output=json&key="+ KEY_1);
      
       BufferedReader in = new BufferedReader(
                          new InputStreamReader(resjson.openStream()));
       String res;
       StringBuilder sb = new StringBuilder("");
       while((res = in.readLine())!=null){
        sb.append(res.trim());
       }
       in.close();
       String str = sb.toString();
       System.out.println("return json:"+str);
       Map<String,String> map = null;
       if(StringUtils.validNull(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();
      }
      return null;
     }
     public static void main(String args[]){
      Map<String,String> map = LatitudeUtils.getLatitude("北京西城區(qū)北京北站");
        if(null != map){
           System.out.println(map.get("lng"));
           System.out.println(map.get("lat"));
        }
     }
    }

    注:這里只是geocoding用法的一個具體實現(xiàn),其中各個可選參數(shù)具體含義 
           請參考http://developer.baidu.com/map/geocoding-api.htm
         

    Feedback

    # re: 百度地圖API中g(shù)eocoding的用法  回復(fù)  更多評論   

    2013-08-06 14:28 by 蔣永永
    validNull()你這個方法從哪里來的?

    # re: 百度地圖API中g(shù)eocoding的用法  回復(fù)  更多評論   

    2013-09-19 11:55 by 饒衡
    這個代碼很好用,請問有沒有通過經(jīng)緯碼得到詳細(xì)地址的代碼

    # re: 百度地圖API中g(shù)eocoding的用法  回復(fù)  更多評論   

    2015-09-09 12:13 by 劉通
    @饒衡
    同求 通過坐標(biāo)轉(zhuǎn)換地址

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚欧免费一级毛片| 99精品视频在线视频免费观看| 真人做人试看60分钟免费视频| 亚洲av午夜福利精品一区| 免费看搞黄视频网站| 久久水蜜桃亚洲av无码精品麻豆| 伊人久久免费视频| 亚洲精品免费在线| 欧美在线看片A免费观看| 亚洲第一成年网站视频| 永久免费视频v片www| 一区二区三区免费在线视频 | 老司机午夜免费视频| 亚洲第一福利网站在线观看| 国产激情久久久久影院老熟女免费 | 又粗又长又爽又长黄免费视频 | 国产va免费精品观看精品| 亚洲精品美女网站| 国产乱弄免费视频| 亚洲日韩在线观看免费视频| 亚洲AV日韩AV天堂一区二区三区| 日本黄网站动漫视频免费| 亚洲综合激情五月色一区| 亚洲高清国产拍精品青青草原 | 免费观看四虎精品国产永久| www永久免费视频| 亚洲精品高清国产一久久| 114一级毛片免费| 男男gvh肉在线观看免费| 丝袜熟女国偷自产中文字幕亚洲| 无码国产精品一区二区免费模式 | 91精品国产免费久久久久久青草| 国产精品亚洲专区一区| 亚洲精品卡2卡3卡4卡5卡区| 免费看成人AA片无码视频羞羞网| 日韩亚洲人成网站| 亚洲日本一区二区三区| 免费一级做a爰片久久毛片潮喷| 两个人看的www免费高清| 亚洲娇小性xxxx色| 亚洲午夜未满十八勿入网站2|