/// <summary>
/// 百度API从经纬度坐标到地址的转换服务
/// </summary>
/// <param name="lng"></param>
/// <param name="lat"></param>
/// <returns></returns>
public string GetAddress(string lng, string lat)
{

string strUrl = @"http://api.map.baidu.com/geocoder/v2/?ak=ELYtYXEH1WmDrK1wDsEWRNkGviRL0ZEo&callback=renderReverse&location=" + lat + "," + lng + @"&output=json&pois=0";
//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 strResult;
try
{
WebRequest request = WebRequest.Create(strUrl);
request.Timeout = 12000;
request.Method = "POST";

HttpWebResponse HttpWResp = (HttpWebResponse)request.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader reader = new StreamReader(myStream,System.Text.Encoding.GetEncoding("utf-8"));
strResult = reader.ReadToEnd();

//StringBuilder strBuilder = new StringBuilder();
//while (-1 != reader.Peek())
//{
// strBuilder.Append(reader.ReadLine());
//}
//strResult = strBuilder.ToString();
}
catch (Exception exp)
{
strResult = "错误:" + exp.Message;
}
return strResult;
}

解析百度API返回的Json串方法如下:

#region 解析Json
//调用百度API接口
string strJosn = GetAddress(reservation.Longitude.ToString(), reservation.Latitude.ToString());
strJosn = strJosn.Remove(strJosn.Length - 1).Remove(0, 29);
JObject jo = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(strJosn);
string Status = jo["status"].ToString();
if (Status == "0")
{
//地址拼接
strJosn = jo["result"]["formatted_address"].ToString() + jo["result"]["sematic_description"].ToString();
}
else if (Status == "1")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "服务器内部错误!";
}
else if (Status == "2")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "请求参数非法!";
}
else if (Status == "101")
{
result.IsSuccess = false;
result.MsgCode = "0";
result.Message = "服务禁用!";
}

#endregion

转载于:https://www.cnblogs.com/zxtceq/p/6598921.html

百度API从经纬度坐标到地址的转换服务相关推荐

  1. 百度android api坐标转地址,百度API从经纬度坐标到地址的转换服务

    /// /// 百度API从经纬度坐标到地址的转换服务 /// /// /// /// public string GetAddress(string lng, string lat) { strin ...

  2. 全球地区资料json 含中英文 经纬度_爬虫实战(三)使用百度API获取经纬度/地址...

    点击上方"蓝字"关注我们百度API获取经纬度/地址Mar 28, 2020 本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址. 本文约3k字,预计阅读18分钟. 本次是第 ...

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

    调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...

  4. 百度地图根据经纬度坐标,显示汽车行驶轨迹

    继上一篇:百度地图根据经纬度坐标,显示轨迹 又进行了些许优化.将固定点为变为汽车行驶轨迹并添加点位. 上一篇链接:https://blog.csdn.net/qq_36865945/article/d ...

  5. 百度api获取经纬度以及经纬度的转换

    vue根据百度api获取到自己所在位置的经纬度以及具体的位置名称 <group class="site" label-width="5.5em" labe ...

  6. Java 百度地图 根据经纬度(坐标) 获取乡镇

    申请百度开放平台KEY(ak) 没申请,随便找了一个 参数说明: extensions_town:行政区划返回乡镇级数据(town),仅国内召回乡镇数据 coordtype:坐标的类型 bd09ll( ...

  7. 百度地图根据经纬度坐标,显示轨迹

    1.html 部分设置存放地图的div,定义id和宽高,并引入百度地图相关JS <div id="baiduMap" style="width:600px;heig ...

  8. [小O地图 EXCEL版] 经纬度坐标 转 地址文字

    小O地图EXCEL版是基于EXCEL表格提供地理数据处理.地图可视化的工具软件.主要提供地址转坐标.坐标转地址等与地理数据处理相关的功能. 传统的地理数据处理需要使用专业的GIS软件完成,GIS软件的 ...

  9. 屏幕距离和坐便转换工具_地图经纬度坐标与屏幕坐标的转换(android版)

    我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...

  10. 百度地图api根据经纬度获取详细地址

    var point = new BMap.Point(longitude,latitude);//用所定位的经纬度查找所在地省市街道等信息var gc = new BMap.Geocoder();gc ...

最新文章

  1. SAP 如何将无序列号的库存与序列号关联起来?
  2. Python入门(good)
  3. 网络安全性——IPSEC(续思科设备实现)
  4. 如何在SAP S/4HANA Fiori UI上创建新的扩展字段
  5. 机器学习中向量化编程总结记录
  6. Java集合类框架的基本接口有哪些?
  7. 网络基础Cisco路由交换四
  8. 性能调优的方法及概念
  9. 24岁大专非科班转行前端开发可行性有多少?
  10. three.js 坐标系、camera位置属性、点、线、面
  11. LVS/NAT的配置和应用
  12. 站立会议05--个人进度
  13. Android Studio配置文件修改
  14. 开发新概念:代码管理(代码框架)
  15. python13文件_python中13个实用的文件操作
  16. MT8127_Android_scatter.txt 文件添加backup分区
  17. sklearn.metrics.multilabel_confusion_matrix
  18. java.lang.IllegalStateException: Fragment already added
  19. 在python终端中打印颜色的3中方式(python3经典编程案例)
  20. 了解常见的模拟器及交换机的基本配置

热门文章

  1. 小程序商店刷榜_微信小程序店铺如何做引流,带来转化?
  2. python列表的应用与实例_python列表生成式应用案例
  3. android 原理 组合控件_Android自定义控件之组合控件
  4. 通过shell访问hive_Spark入门:连接Hive读写数据(DataFrame)
  5. 使用docker compose 测试集群网络连接性
  6. C# 重绘tabControl,添加关闭按钮(页签)
  7. 使用junit4测试spring项目中service方法
  8. Redhat5.2yum源更新为centos源
  9. geexbox 编译
  10. 创新的垃圾处理模式——赛普利