调用百度API接口 正解析地址和逆解析
地址解析(结构化地址 解析得到 经纬度):
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}]
调用百度API接口 正解析地址和逆解析的更多相关文章
- 调用百度API返回经纬度
后台调用百度API接口生成: import java.io.BufferedReader; import java.io.IOException;import java.io.InputStreamR ...
- js调用百度地图接口
原文:js调用百度地图接口 这是前几天公司做的新项目,上面需要用到地图的数据.第一次做这类型的东西没啥思路,咱们经理说,这东西简单,截个图存文件夹里调整好尺寸,数据库里存上图片的地址动态调用就行了.心 ...
- 腾讯云图片鉴黄集成到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 ...
- Winform调用百度地图接口简单示例
1.首先用一个html文件调用百度地图接口(主要注册一个序列号): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- 关于python调用zabbix api接口
因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...
- Http下的各种操作类.WebApi系列~通过HttpClient来调用Web Api接口
1.WebApi系列~通过HttpClient来调用Web Api接口 http://www.cnblogs.com/lori/p/4045413.html HttpClient使用详解(java版本 ...
- 百度api查询多个地址的经纬度的问题
在使用百度api查询多个地址的经纬度的时候,由于百度api提供的经纬度查询方法是回调函数,并且后续操作必须等经纬度获取完成才能进行,问题就存在于怎么判断所有地点是否都回调完成了,问了之前的一个前端大佬 ...
- 调用百度API进行文本纠错
毕设做的是文本纠错方面,然后今天进组见研究生导师 .老师对我做的东西蛮感兴趣.然后介绍自己现在做的一些项目,其中有个模块需要有用到文本纠错功能. 要求1:有多人同时在线编辑文档,然后文档功能有类似Wo ...
- [微信小程序] 微信小程序获取用户定位信息并加载对应城市信息,wx.getLocation,腾讯地图小程序api,微信小程序经纬度逆解析地理信息
因为需要在小程序加个定位并加载对应城市信息 然而小程序自带api目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
随机推荐
- 【异常(待解决)】org.apache.http.NoHttpResponseException: api.weixin.qq.com:443 failed to respond
一.记录下异常堆栈信息 -- ::-exec-] ERROR weixin.popular.client.LocalHttpClient - execute error org.apache.http ...
- 【监控】jvisualvm之jmx远程连接 jar启动应用
一.Java -jar启动添加如下参数就可以了 -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.su ...
- CentOS 7网络配置工具
CentOS 7网络配置工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网卡命名机制 CentOS 6之前,网络接口使用连续号码命名:eth0.eth1等,当增加或删除网卡 ...
- 代码优化 - 求数组中的第 K 个最大元素
题目要求: 解法一: 直接用 sort 从大到小排序,取第 k 个 var findKthLargest = function (nums, k) { nums.sort((a, b) => { ...
- CSS——设置边框渐变色
前言 最近在写一个typecho的主题,刚好遇到这样一个问题就记录下吧 步骤 这是一个CSS的过度效果,效果如下. 代码 .object{ width: 50px; height: 50px; bac ...
- Touch事件 移动端touch触摸事件
<!-- HTML5 --> <!DOCTYPE html> <html> <head> <title>TouchEvent测试</t ...
- 走,去出海,一起“Copy to World” | 36氪出海行业报告
http://www.sohu.com/a/200845344_114778 从工具类产品在海外聚集大量流量到新闻.社交游戏等内容类产品在海外取得优异成绩,中国正在完成从Copy to China向C ...
- volatile原理
内存可见性 内存可见性相关概念:线程对共享变量修改的可见性.当一个线程修改了共享变量的值,其他线程能够立刻得知这个修改. 后面会继续总结一篇<Java内存模型(JMM)总结>以详细描述内存 ...
- L1025
1,对于搜索,我有一个不成熟的想法,这不就是,强化版的for循环吗? 2,反正是搜索,那就先找搜索状态, n,x,n是第几次分,x是分剩下的数. 3,这个我觉得自己努力努力可能可以做出来. 4,首先要 ...
- 洛谷 P2571 [SCOI2010]传送带 题解
每日一题 day51 打卡 Analysis 这道题是用非常恶心的三分套三分做的,有一个技巧是不要枚举坐标,枚举两条线段构成三角形的相似比就好了. 了解思路就还挺好写的(尽管我还调了三天) #incl ...