<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 閱讀(5827) 評論(3)  編輯  收藏

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

    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)緯度坐標
      * key lng(經(jīng)度),lat(緯度)
      */
     public static Map<String,String> getLatitude(String address){
      try {
    //  將地址轉(zhuǎn)換成utf-8的16進制
         address = URLEncoder.encode(address, "UTF-8");
    //  如果有代理,要設置代理,沒代理可注釋
    //  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的用法  回復  更多評論   

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

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

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

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

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

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 污视频在线观看免费| 免费无码黄网站在线观看| 日本免费的一级v一片| 亚洲精品无码mv在线观看网站| 日韩精品内射视频免费观看| 亚洲乱码av中文一区二区| 亚洲AV无码一区二区乱孑伦AS| 国产一区二区三区免费看| 我的小后妈韩剧在线看免费高清版 | 国产男女猛烈无遮挡免费视频网站 | 精品无码一区二区三区亚洲桃色 | 最近免费中文字幕4| 亚洲人成无码网WWW| 久久精品国产亚洲AV麻豆网站| 国产成人人综合亚洲欧美丁香花 | 国产一级一片免费播放i| 亚洲人成依人成综合网| 黄色a三级免费看| 四虎永久在线精品免费观看视频| 久久精品亚洲福利| 在线观看亚洲AV日韩A∨| 久久国产乱子精品免费女| 国产jizzjizz免费看jizz| 亚洲免费电影网站| 成人电影在线免费观看| 日本二区免费一片黄2019| 亚洲毛片基地日韩毛片基地| 国产福利在线观看永久免费| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 日韩在线观看免费| 最近免费中文字幕大全| 亚洲蜜芽在线精品一区| 9久热精品免费观看视频| 无码国模国产在线观看免费| 亚洲精品中文字幕麻豆| 水蜜桃视频在线观看免费播放高清 | 免费国产午夜高清在线视频| 免费成人在线观看| 亚洲精品一卡2卡3卡四卡乱码| 美女视频黄a视频全免费网站色窝 美女被cao网站免费看在线看 | 波多野结衣亚洲一级|