地址解析(结构化地址 解析得到 经纬度):

public void SaveLocation(DataRequest<Location> request, DataResponse<ResultModel> response)

          {
var result = new ResultModel();
try
{
var LongitudeAndLatitude = Config.GetConfig("LongitudeAndLatitude");
string ak = LongitudeAndLatitude["ak"];
//地址解析(结构化地址 解析得到 经纬度)
//用户可通过该功能,将结构化地址(省/市/区/街道/门牌号)解析为对应的位置坐标。地址结构越完整,地址内容越准确,解析的坐标精度越高。
//使用示例一:http://api.map.baidu.com/geocoder/v2/address=结构化的地址&output=json&ak=你的密钥
//API服务地址:http://api.map.baidu.com/geocoder/v2/? //GET请求
string ApiUrl = string.Format("http://api.map.baidu.com/geocoder/v2/?address={0}&output=json&ak={1}", request.ObjectData.ServiceAddress, ak);
string httpResult = HttpHelper.Download(ApiUrl);
dynamic jsonResult = JsonHelper.DeserializeObject<dynamic>(httpResult);
if (jsonResult.status.ToString() == "")
{
decimal lng =decimal.Parse(jsonResult.result.location.lng);
decimal lat = decimal.Parse(jsonResult.result.location.lat); Location Location = new Location
{
Longitude = lng,
Latitude = lat,
DriveTime = DateTime.Now,
ServiceType = "完成试驾用车服务",
ServiceAddress = request.ObjectData.ServiceAddress
};
SQLHelper.SaveEntry(Location, EntityState.Added);
}
result.Status = ResultStatus.Success;
result.Message = "完成体验驾驶服务定位成功!";
}
catch (Exception ex)
{ result.Status =ResultStatus.Fail;
result.Message = ex.Message;
if (ex.InnerException != null)
result.Message = ex.InnerException.Message; }
response.ObjectData = result; }

地理位置转换经纬度坐标 - 逆地址解析(经纬度 解析得到 结构化地址)

 public void SaveLongitudeAndLatitude(DataRequest<dynamic> request, DataResponse<ResultModel> response)
{
var result = new ResultModel();
try
{
string ClientInfo = null;
var httpContext = Common.CommonHelper.GetHttpContext();
if (httpContext != null)
{
if (httpContext.Request.Headers.ContainsKey("ClientInfo"))
{
ClientInfo = httpContext.Request.Headers["ClientInfo"]; var LongitudeAndLatitude = Config.GetConfig("LongitudeAndLatitude");
string ak = LongitudeAndLatitude["ak"];
dynamic jsonResult = JsonHelper.DeserializeObject<dynamic>(ClientInfo);
//API服务地址:http://api.map.baidu.com/geocoder/v2/? //GET请求
//使用示例:http://api.map.baidu.com/geocoder/v2/?location=纬度,经度&output=xml&pois=1&ak=你的ak [ !注意:location=纬度,经度 ,不要写反了 ]
string ApiUrl = string.Format("http://api.map.baidu.com/geocoder/v2/?location={0}&output=json&ak={1}",
jsonResult.Latitude + "," + jsonResult.Longitude, ak); string httpResult = HttpHelper.Download(ApiUrl);
dynamic jsonRespone = JsonHelper.DeserializeObject<dynamic>(httpResult); var address = string.Empty;
if (jsonRespone.status.ToString() == "")
{ string business = jsonRespone.result.business.ToString();
string formatted_address = ConvertHelper.GetString(jsonRespone.result.formatted_address);
string sematic_description = ConvertHelper.GetString(jsonRespone.result.sematic_description); address = formatted_address + sematic_description; }
else
{
address = "无法获取当前地理位置,调用服务异常...";
} Location Location = new Location
{ Longitude = jsonResult.Longitude,
Latitude = jsonResult.Latitude,
DriveTime = DateTime.Now,
ServiceType = "开始体验驾驶服务",
ServiceAddress = address
};
SQLHelper.SaveEntry(Location, EntityState.Added);
}
result.Status = ResultStatus.Success;
result.Message = "记录开始驾驶定位信息!";
}
}
catch (Exception ex)
{
result.Status = ResultStatus.Fail;
result.Message = ex.Message;
if (ex.InnerException != null)
result.Message = ex.InnerException.Message; }
response.ObjectData = result; }
经纬度获取地址 逆解析
Headers
  [{"key":"ClientInfo","value":"{\"Latitude\" :\"22.615589046911805\",\"Longitude\":\"114.03483089395202\"}","description":"","type":"text","enabled":true}]
{"Latitude" :"22.615589046911805","Longitude":"114.03483089395202"}
 
 
 

调用百度API接口 正解析地址和逆解析的更多相关文章

  1. 调用百度API返回经纬度

    后台调用百度API接口生成: import java.io.BufferedReader; import java.io.IOException;import java.io.InputStreamR ...

  2. js调用百度地图接口

    原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...

  3. 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期

    腾讯云图片鉴黄集成到C#   官方文档:https://cloud.tencent.com/document/product/641/12422 请求官方API及签名的生成代码如下: public c ...

  4. Winform调用百度地图接口简单示例

    1.首先用一个html文件调用百度地图接口(主要注册一个序列号):   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  5. 关于python调用zabbix api接口

    因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...

  6. Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口

    1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...

  7. 百度api查询多个地址的经纬度的问题

    在使用百度api查询多个地址的经纬度的时候,由于百度api提供的经纬度查询方法是回调函数,并且后续操作必须等经纬度获取完成才能进行,问题就存在于怎么判断所有地点是否都回调完成了,问了之前的一个前端大佬 ...

  8. 调用百度API进行文本纠错

    毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...

  9. [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息

    因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...

随机推荐

  1. H3C 802.11网络的基本元素

  2. MyBatis日记(四):MyBatis——insert、update、delete、select

    MyBatis简单增删改查操作,此处所做操作,皆是在之前创建的MyBatis的Hello world的工程基础上所做操作. 首先在接口文件(personMapper.java)中,添加操作方法: pa ...

  3. 如何使用Mojave将APFS卷上的MacOS Catalina Beta安装到双引导

    如果你想与macOS Mojave或macOS High Sierra一起运行MacOS Catalina Beta,你可以通过向Mac添加一个新的APFS卷来实现这一点,如果该Macs硬盘被格式化为 ...

  4. HTML&CSS基础-超链接

    HTML&CSS基础-超链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如下图所示,有三个网页 <!DOCTYPE html> <!--Docty ...

  5. nginx的rewrite跳转

    Rewrite标记flag

  6. Java自动化环境搭建笔记(1)

    Java自动化环境搭建笔记(1) 自动化测试 先搭建java接口测试的环境: 使用mvn命令构建项目 测试集通过testNG.xml组织并运行 测试数据解耦,通过Excel等文件提供 基础依赖 创建m ...

  7. WPF MVVM之INotifyPropertyChanged接口的几种实现方式(转)

    原地址:https://www.cnblogs.com/xiwang/archive/2012/11/25/2787358.html 序言 借助WPF/Sliverlight强大的数据绑定功能,可以比 ...

  8. Python使用pip安装TensorFlow模块

    1.首先确保已经安装python,然后用pip来安装matplotlib模块. 2.进入到cmd窗口下,建议执行python -m pip install -U pip setuptools进行升级. ...

  9. apscheduler 执行报错No handlers could be found for logger "apscheduler.executors.default

    执行报错如下: No handlers could be found for logger "apscheduler.executors.default 解决: 加入日志,查看具体报错,载根 ...

  10. python高性能编程 读书笔记

    GIL 确保 Python 进程一次只能执行一条指令 ====分析工具cProfile 分析函数耗时line_profiler  逐行分析 heapy 追踪 Python 内存中所有的对象— 这对于消 ...