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

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"}
 
 
 

最新文章

  1. POJ 3311 Hie with the Pie (状压DP)
  2. Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger
  3. 做IT不能一辈子只靠技术生存
  4. IC卡的逻辑卡号和市民卡卡号
  5. Linux中的常见配置文件
  6. hadoop执行hbase插入表操作,出错:Stack trace: ExitCodeException exitCode=1:(xjl456852原创)
  7. AJAX入门——工作原理
  8. tensorflow笔记(四)之MNIST手写识别系列一
  9. 北大青鸟Asp.net之颗粒归仓
  10. C#中方法、类等的默认访问修饰符~
  11. Python3+Appium安装使用教程
  12. 函数的作用域、global与nonlocal
  13. 『TensorFlow』pad图片
  14. Github学习心得体会
  15. dubbo面试问题
  16. python安装curses库
  17. Lab 1-3
  18. GNU C与ANSI C的不同
  19. 大数加减法 - java实现
  20. archdexls主题设置每页显示游戏数目

热门文章

  1. python爬取数据分析
  2. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索
  3. Python的logging模块基本用法
  4. kafka没配置好,导致服务器重启之后,topic丢失,topic里面的消息也丢失
  5. 微信之获取微信的openid(二)详细版
  6. springboot无法识别配置文件级解决办法
  7. easyui 自己写的一些小东西
  8. hive日期转换函数2
  9. Java 内部类和Lambda
  10. 决策树——ID3