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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

百度api:根据经纬度获取地理位置信息

發布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 百度api:根据经纬度获取地理位置信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

調用百度api,根據經度和緯度獲取地理位置信息,返回Json。

C#代碼:

using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Net.Http;public class LocationService{//百度apiprivate static string url = @"http://api.map.baidu.com/geocoder/v2/?location={0}&output=json&ak=WEc8RlPXzSifaq9RHxE1WW7lRKgbid6Y";/// <summary>/// 根據經緯度獲取地理位置/// </summary>/// <param name="lat">緯度</param>/// <param name="lng">經度</param>/// <returns>具體的地埋位置</returns>public static string GetLocation(string lat, string lng){HttpClient client = new HttpClient();string location = string.Format("{0},{1}", lat, lng);string bdUrl = string.Format(url, location);string result = client.GetStringAsync(bdUrl).Result;var locationResult = (JObject)JsonConvert.DeserializeObject(result);if (locationResult == null || locationResult["result"] == null || locationResult["result"]["formatted_address"] == null)return string.Empty;var address = Convert.ToString(locationResult["result"]["formatted_address"]);if (locationResult["result"]["sematic_description"] != null)address += " " + Convert.ToString(locationResult["result"]["sematic_description"]);return address;}}

調用示例1:

LocationService.GetLocation("0","0")

返回Json:

{{ ?"country": "", ?"country_code": -1, ?"province": "", ?"city": "", ?"district": "", ?"adcode": "0", ?"street": "", ?"street_number": "", ?"direction": "", ?"distance": ""}}

調用示例2:

LocationService.GetLocation("36.2585", "120.27")

返回Json:

?{{ ?"status": 0, ?"result": { ? ?"location": { ? ? ?"lng": 120.26999999999993, ? ? ?"lat": 36.25849989472075 ? ?}, ? ?"formatted_address": "山東省青島市城陽區和融路", ? ?"business": "上馬", ? ?"addressComponent": { ? ? ?"country": "中國", ? ? ?"country_code": 0, ? ? ?"province": "山東省", ? ? ?"city": "青島市", ? ? ?"district": "城陽區", ? ? ?"adcode": "370214", ? ? ?"street": "和融路", ? ? ?"street_number": "", ? ? ?"direction": "", ? ? ?"distance": "" ? ?}, ? ?"pois": [], ? ?"roads": [], ? ?"poiRegions": [], ? ?"sematic_description": "青島寶佳自動化設備有限公司北575米", ? ?"cityCode": 236 ?}}}

?

=================================================================

以下內容轉自他人博客,返回xml格式的例子

博客地址:http://www.cnblogs.com/_zjl/p/3431525.html

?

代碼:

private string GetAddress(string lng, string lat){try{string url = @"http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=" + lat + "," + lng + @"&output=xml&pois=1";WebRequest request = WebRequest.Create(url);request.Method = "POST";XmlDocument xmlDoc = new XmlDocument();string sendData = xmlDoc.InnerXml;byte[] byteArray = Encoding.Default.GetBytes(sendData);Stream dataStream = request.GetRequestStream();dataStream.Write(byteArray, 0, byteArray.Length);dataStream.Close();WebResponse response = request.GetResponse();dataStream = response.GetResponseStream();StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.GetEncoding("utf-8"));string responseXml = reader.ReadToEnd();XmlDocument xml = new XmlDocument();xml.LoadXml(responseXml);string status = xml.DocumentElement.SelectSingleNode("status").InnerText;if (status == "0"){XmlNodeList nodes = xml.DocumentElement.GetElementsByTagName("formatted_address");if (nodes.Count > 0){return nodes[0].InnerText;}elsereturn "未獲取到位置信息,錯誤碼3";}else{return "未獲取到位置信息,錯誤碼1";}}catch (System.Exception ex){return "未獲取到位置信息,錯誤碼2";}}

 

url中的參數:

參數是否必須默認值格式舉例含義
coordtypebd09llbd09ll 百度經緯度坐標坐標的類型,目前支持的坐標類型包括:bd09ll(百度經緯度坐標)、gcj02ll(國測局經緯度坐標)、wgs84ll( GPS經緯度)
location38.76623,116.43213 lat<緯度>,lng<經度>根據經緯度坐標獲取地址
pois00是否顯示指定位置周邊的poi,0為不顯示,1為顯示。當值為1時,顯示周邊100米內的poi。

?

?

運行方法返回的結果:

北京市海淀區中關村大街27號1101-08室

?

從百度api返回的結果:

<?xml version="1.0" encoding="utf-8" ?> - <GeocoderSearchResponse><status>0</status> - <result> - <location><lat>39.983424051248</lat> <lng>116.32298703399</lng> </location><formatted_address>北京市海淀區中關村大街27號1101-08室</formatted_address> <business>中關村,人民大學,蘇州街</business> - <addressComponent><streetNumber /> <street>中關村大街</street> <district>海淀區</district> <city>北京市</city> <province>北京市</province> </addressComponent><cityCode>131</cityCode> - <pois> - <poi><addr>中關村西區南側(中關村科技園區內)</addr> <distance>0.050000</distance> <name>中關村大廈</name> <poiType>辦公大廈,商務大廈</poiType> <tel>(010)82856666</tel> <zip>100000</zip> - <point><x>116.32298658484</x> <y>39.983423843929</y> </point></poi> - <poi><addr>中關村大街27號</addr> <distance>0.050000</distance> <name>眉州東坡酒樓中關村店</name> <poiType>中餐館,餐飲</poiType> <tel>(010)82856948</tel> <zip /> - <point><x>116.32298658484</x> <y>39.983423843929</y> </point></poi> - <poi><addr>中關村大街27號</addr> <distance>0.050000</distance> <name>中國人民財產保險中關村營業部</name> <poiType>中國人民財產保險,保險公司,金融</poiType> <tel>(010)82856779</tel> <zip>100000</zip> - <point><x>116.32298658484</x> <y>39.983423843929</y> </point></poi> - <poi><addr>北京市海淀區</addr> <distance>94.432081</distance> <name>光合作用書房</name> <poiType>圖書音像,購物</poiType> <tel /> <zip /> - <point><x>116.32239334388</x> <y>39.983890240676</y> </point></poi> - <poi><addr>中關村大街27號</addr> <distance>42.195731</distance> <name>建行中關村支行</name> <poiType>中國建設銀行,銀行,金融</poiType> <tel /> <zip>100000</zip> - <point><x>116.32292037972</x> <y>39.983711118168</y> </point></poi> - <poi><addr>北京市海淀區</addr> <distance>62.342644</distance> <name>海淀醫院-激光整形美容部</name> <poiType>美容美發,生活服務</poiType> <tel /> <zip /> - <point><x>116.32317954086</x> <y>39.98301950182</y> </point></poi> - <poi><addr>中關村大街19號新中關購物中心1樓</addr> <distance>112.983688</distance> <name>星巴克新中關店</name> <poiType>星巴克,咖啡廳,休閑餐飲,餐飲</poiType> <tel>(010)82486056</tel> <zip /> - <point><x>116.32218215226</x> <y>39.983899777278</y> </point></poi></pois></result></GeocoderSearchResponse>

xml說明:

名稱類型說明
statusconstant返回結果狀態值, 成功返回0,其他值請查看附錄。
locationlat緯度坐標
lng經度坐標
formatted_address結構化地址信息
business所在商圈信息,如 "人民大學,中關村,蘇州街"
addressComponentcity城市名
district區縣名
province省名
street街道名
street_number街道門牌號
pois(周邊poi數組)addr地址信息
cp數據來源
distance離坐標點距離
namepoi名稱
poiTypepoi類型,如’ 辦公大廈,商務大廈’
pointpoi坐標{x,y}
tel電話
uidpoi唯一標識
zip郵編

附錄:

返回碼定義
0正常
1服務器內部錯誤
2請求參數非法
3權限校驗失敗
4配額校驗失敗
5ak不存在或者非法
101服務禁用
102不通過白名單或者安全碼不對
2xx無權限
3xx配額錯誤

 

?

轉載于:https://www.cnblogs.com/xianhan/p/7171134.html

總結

以上是生活随笔為你收集整理的百度api:根据经纬度获取地理位置信息的全部內容,希望文章能夠幫你解決所遇到的問題。

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