调用百度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目前只能获取经纬度不能逆解析,虽然自己解析方式,但是同时也要调用地图,难道用户每次进小程序还要强行打开地图选择地址才定位吗?多麻烦也不利 ...
随机推荐
- MySQL/MariaDB数据库的冷备份和还原
MySQL/MariaDB数据库的冷备份和还原 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL/MariaDB数据库的备份和还原概述 1>.为什么要备份 为了 ...
- window安装gcc、g++、make等编译环境
1. MinGW官网下载:http://www.mingw.org 点击右上角Downloads 点击下载 mingw-get-setup.exe 2. 百度网盘(2019年4月从官网下 ...
- Windows/Linux/Mac下安装mvn
Step1: 去官网地址下载 http://maven.apache.org/download.cgi Step2: 解压并且移动到指定到目录下 Step3: 配置环境变量并使之生效 .bash_pr ...
- CentOS 7 的 redis 安装
redis 安装 使用下面的命令,下载.解压.编译Redis: $ wget http://download.redis.io/releases/ $ tar xzf redis-x.x.x.tar. ...
- HDU1395 2^x mod n = 1——积与余数的性质
对于数论的学习比较的碎片化,所以开了一篇随笔来记录一下学习中遇到的一些坑,主要通过题目来讲解 本题围绕:积与余数 HDU1395 2^x mod n = 1 题目描述 输入一个数n,如果存在2的x次方 ...
- mybatis配置打印sql
mybatis配置打印sql: <settings> <setting name="logImpl" value="STDOUT_LOGGING&quo ...
- linux不同版本jdk,用脚本进行切换
服务器中已经部署了一个项目,现在又要部署另一个项目在服务器上.以前的项目是jdk7,新的项目是jdk8,所以启动前就要配置对应的jdk环境变量.所以写了一个shell脚本进行执行切换. 先下载两个jd ...
- 微信支付之获取openid
一.准备工具 不管开发什么,官方的文档应该是第一个想到的这里把官方文档贴出来:微信网页授权文档除此之外,我们还需要一个内网穿透的工具在开发环境下让微信能访问到我们的域名.我使用的是natapp.此类工 ...
- python开发笔记之zip()函数用法详解
今天分享一篇关于python下的zip()函数用法. zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素按顺序组合成一个tuple,每个tuple中包含的是原 ...
- 关于git clone远程仓库账户密码错误的问题
这两天刚使用coding和git,但是在我第一次克隆coding上的项目的时候,提示输入账户和密码,当时我不知道这个账户和密码是指的哪个,就随便输入了,然后提示错误,,,,,, 之后每次克隆的时候都提 ...