本文主要是介绍C#调用百度api,根据经度和纬度获取地理位置信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/// <summary>
/// 百度api 根据经纬度获取地理位置
/// </summary>
/// <param name="lng">经度</param>
/// <param name="lat">纬度</param>
/// <returns>具体的地理位置</returns>
public static string GetLocation( string lng,string lat)
{
HttpClient client = new HttpClient();
string url = string.Format("http://api.map.baidu.com/geocoder/v2/?ak=你的AK&callback=renderReverse&location={0},{1}&output=json&pois=1Z", lng,lat);
string result = client.GetStringAsync(url).Result;
var locationResult = (JObject)JsonConvert.DeserializeObject(result.Replace("renderReverse&&renderReverse","").Replace("(","").Replace(")",""));
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;
}
2021年5月18日编辑
百度API网址已经更换具体请看官方文档 https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad
http://api.map.baidu.com/reverse_geocoding/v3/?ak=您的ak&output=json&coordtype=wgs84ll&location=31.225696563611,121.49884033194
这篇关于C#调用百度api,根据经度和纬度获取地理位置信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!