百度API从经纬度坐标到地址的转换服务
/// <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从经纬度坐标到地址的转换服务相关推荐
- 百度android api坐标转地址,百度API从经纬度坐标到地址的转换服务
/// /// 百度API从经纬度坐标到地址的转换服务 /// /// /// /// public string GetAddress(string lng, string lat) { strin ...
- 全球地区资料json 含中英文 经纬度_爬虫实战(三)使用百度API获取经纬度/地址...
点击上方"蓝字"关注我们百度API获取经纬度/地址Mar 28, 2020 本期介绍给定地址/经纬度,使用百度API来获取经纬度/地址. 本文约3k字,预计阅读18分钟. 本次是第 ...
- 百度api:根据经纬度获取地理位置信息
调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...
- 百度地图根据经纬度坐标,显示汽车行驶轨迹
继上一篇:百度地图根据经纬度坐标,显示轨迹 又进行了些许优化.将固定点为变为汽车行驶轨迹并添加点位. 上一篇链接:https://blog.csdn.net/qq_36865945/article/d ...
- 百度api获取经纬度以及经纬度的转换
vue根据百度api获取到自己所在位置的经纬度以及具体的位置名称 <group class="site" label-width="5.5em" labe ...
- Java 百度地图 根据经纬度(坐标) 获取乡镇
申请百度开放平台KEY(ak) 没申请,随便找了一个 参数说明: extensions_town:行政区划返回乡镇级数据(town),仅国内召回乡镇数据 coordtype:坐标的类型 bd09ll( ...
- 百度地图根据经纬度坐标,显示轨迹
1.html 部分设置存放地图的div,定义id和宽高,并引入百度地图相关JS <div id="baiduMap" style="width:600px;heig ...
- [小O地图 EXCEL版] 经纬度坐标 转 地址文字
小O地图EXCEL版是基于EXCEL表格提供地理数据处理.地图可视化的工具软件.主要提供地址转坐标.坐标转地址等与地理数据处理相关的功能. 传统的地理数据处理需要使用专业的GIS软件完成,GIS软件的 ...
- 屏幕距离和坐便转换工具_地图经纬度坐标与屏幕坐标的转换(android版)
我们在开发GIS系统的时候,首先要解决的就是地图的可视化问题,这个问题的关键就在于如何把地图的坐标转换成屏幕坐标,然后才到渲染着色.标注等.以下以wgs84经纬度坐标为基准,介绍一下地图经纬度坐标与屏 ...
- 百度地图api根据经纬度获取详细地址
var point = new BMap.Point(longitude,latitude);//用所定位的经纬度查找所在地省市街道等信息var gc = new BMap.Geocoder();gc ...
最新文章
- SAP 如何将无序列号的库存与序列号关联起来?
- Python入门(good)
- 网络安全性——IPSEC(续思科设备实现)
- 如何在SAP S/4HANA Fiori UI上创建新的扩展字段
- 机器学习中向量化编程总结记录
- Java集合类框架的基本接口有哪些?
- 网络基础Cisco路由交换四
- 性能调优的方法及概念
- 24岁大专非科班转行前端开发可行性有多少?
- three.js 坐标系、camera位置属性、点、线、面
- LVS/NAT的配置和应用
- 站立会议05--个人进度
- Android Studio配置文件修改
- 开发新概念:代码管理(代码框架)
- python13文件_python中13个实用的文件操作
- MT8127_Android_scatter.txt 文件添加backup分区
- sklearn.metrics.multilabel_confusion_matrix
- java.lang.IllegalStateException: Fragment already added
- 在python终端中打印颜色的3中方式(python3经典编程案例)
- 了解常见的模拟器及交换机的基本配置
热门文章
- 小程序商店刷榜_微信小程序店铺如何做引流,带来转化?
- python列表的应用与实例_python列表生成式应用案例
- android 原理 组合控件_Android自定义控件之组合控件
- 通过shell访问hive_Spark入门:连接Hive读写数据(DataFrame)
- 使用docker compose 测试集群网络连接性
- C# 重绘tabControl,添加关闭按钮(页签)
- 使用junit4测试spring项目中service方法
- Redhat5.2yum源更新为centos源
- geexbox 编译
- 创新的垃圾处理模式——赛普利