日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用百度LBS做一个小Demo

發布時間:2023/11/29 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用百度LBS做一个小Demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

  • 申請ak(即獲取密鑰

    • http://lbsyun.baidu.com/apiconsole/key?application=key 去這兒注冊一個開發者賬號即可

  • 拼寫發送http請求的url

    • 譬如這樣的調用

    • http://api.map.baidu.com/geocoder/v2/?address=百度大廈&output=json&ak=E4805d16520de693a3fe707cdc962045&callback=showLocation
  • 接收http請求返回的數據

下面看看代碼

/***?接口常量*?@author?rex**/ public?interface?BaiDuApi?{/**?根據ip獲取信息*/public?static?final?String?BD_IP_LOCATION_API?=?"http://api.map.baidu.com/location/ip";/**根據城市/經緯度獲取信息*/public?static?final?String?BD_LOCATION2POINT_API?=?"http://api.map.baidu.com/geocoder/v2/";/**?百度lbs?ak密鑰*/public?static?final?String?BD_LBS_AK?=?"你申請的AK";}

????

/**?百度地圖API*/ public?final?class?BaiDuMapApi?{private?static?Map<String,?String>?params?=?CollectionUtil.newHashMap();private?static?final?List<String>?LOCAL_IP?=?Arrays.asList("127.0.0.1",?"localhost");/**?根據ip獲取經緯度*/public?static?Map<String,?String>?getPoint(String?ip)?{params.clear();Map<String,?String>?point?=?CollectionUtil.newHashMap();if?(null?!=?ip?&&?!LOCAL_IP.contains(ip))?{params.put("ip",?ip);}params.put("ak",?BaiDuApi.BD_LBS_AK);params.put("coor",?"bd09ll");String?r?=?HttpKit.get(BaiDuApi.BD_IP_LOCATION_API,?params);String?json?=?StringUtils.unicodeToString(r);Map<String,?Object>?map?=?JSONUtil.json2Map(json);Map<String,?Object>?content?=?JSONUtil.json2Map(map.get("content").toString());Map<String,?String>?xy?=?JSONUtil.json2Map(content.get("point").toString());point.put("latitude",?xy.get("y"));point.put("longitude",?xy.get("x"));return?point;}/**?根據城市和地址獲取經緯度*/public?static?Map<String,?String>?getPoint(String?city,?String?address)?{params.clear();Map<String,?String>?point?=?CollectionUtil.newHashMap();if?(StringUtils.isNotBlank(city)?&&?StringUtils.isNotBlank(address))?{params.put("ak",?BaiDuApi.BD_LBS_AK);params.put("callback",?"renderOption");params.put("output",?"json");params.put("city",?city);params.put("address",?address);String?r?=?HttpKit.get(BaiDuApi.BD_LOCATION2POINT_API,?params);String?json?=?StringUtils.unicodeToString(r.substring(r.indexOf("{"),?r.lastIndexOf("}")?+?1));Map<String,?Object>?map?=?JSONUtil.json2Map(json);Map<String,?Object>?content?=?JSONUtil.json2Map(map.get("result").toString());Map<String,?Object>?location?=?JSONUtil.json2Map(content.get("location").toString());point.put("latitude",?location.get("lat").toString());point.put("longitude",?location.get("lng").toString());}return?point;}/**?根據ip獲取address*/public?static?Map<String,?String>?getAddress(String?ip)?{params.clear();Map<String,?String>?address_detail?=?CollectionUtil.newHashMap();if?(null?!=?ip?&&?!LOCAL_IP.contains(ip))?{params.put("ip",?ip);}params.put("ak",?BaiDuApi.BD_LBS_AK);String?r?=?HttpKit.get(BaiDuApi.BD_IP_LOCATION_API,?params);String?json?=?StringUtils.unicodeToString(r);Map<String,?Object>?map?=?JSONUtil.json2Map(json);Map<String,?Object>?content?=?JSONUtil.json2Map(map.get("content").toString());address_detail?=?JSONUtil.json2Map(content.get("address_detail").toString());return?address_detail;}/**?根據經緯度獲取詳細地址*/public?static?Map<String,?Object>?getAddress(String?latitude,?String?longitude)?{params.clear();Map<String,?Object>?info?=?CollectionUtil.newHashMap();if?(StringUtils.isNotBlank(latitude)?&&?StringUtils.isNotBlank(longitude))?{params.put("callback",?"renderReverse");params.put("ak",?BaiDuApi.BD_LBS_AK);params.put("location",?latitude?+?","?+?longitude);params.put("output",?"json");params.put("pois",?"0");String?r?=?HttpKit.get(BaiDuApi.BD_LOCATION2POINT_API,?params);String?json?=?StringUtils.unicodeToString(r.substring(r.indexOf("{"),?r.lastIndexOf("}")?+?1));Map<String,?Object>?map?=?JSONUtil.json2Map(json);info?=?JSONUtil.json2Map(map.get("result").toString());}return?info;}}

/**?百度地圖API測試*/ public?class?Test?{public?static?void?main(String[]?args)?{//獲取地址信息Map<String,?String>?m1?=?BaiDuMapApi.getAddress(null);System.out.println(m1);//獲取經緯度信息Map<String,?String>?m2?=?BaiDuMapApi.getPoint(null);System.out.println(m2);//根據城市獲取經緯度Map<String,?String>?m3?=?BaiDuMapApi.getPoint("上海市",?"東方明珠");System.out.println(m3);//根據經緯度獲取地址Map<String,?Object>?m4?=?BaiDuMapApi.getAddress(m3.get("latitude"),?m3.get("longitude"));System.out.println(m4);} }

????

{province=上海市,?city=上海市,?street=,?district=,?street_number=,?city_code=289} {latitude=31.24916171,?longitude=121.48789949} {latitude=31.244750205504,?longitude=121.50713723717} {formatted_address=上海市浦東新區陸家嘴環路1388號,?business=東外灘,陸家嘴,外灘,?cityCode=289,?location={"lat":31.244750051136,"lng":121.50713723717},?addressComponent={"city":"上海市","district":"浦東新區","province":"上海市","street":"陸家嘴環路","street_number":"1388號"}}


轉載于:https://my.oschina.net/biezhi/blog/299295

總結

以上是生活随笔為你收集整理的利用百度LBS做一个小Demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。