C#根据经纬度获取物理地址
废话不多说,直接上代码:
1.首先新建几个类,定义一些属性:
public class BaiDuGeoCoding
{
public int Status { get; set; }
public Result Result { get; set; }
} public class Result
{
public Location Location { get; set; } public string Formatted_Address { get; set; } public string Business { get; set; } public AddressComponent AddressComponent { get; set; } public string CityCode { get; set; }
} public class AddressComponent
{
/// <summary>
/// 省份
/// </summary>
public string Province { get; set; }
/// <summary>
/// 城市名
/// </summary>
public string City { get; set; } /// <summary>
/// 区县名
/// </summary>
public string District { get; set; } /// <summary>
/// 街道名
/// </summary>
public string Street { get; set; } public string Street_number { get; set; } } public class Location
{
public string Lng { get; set; }
public string Lat { get; set; }
}
2.新建一个帮助类根据URL获取页面内容:
public class HttpClientHelper
{
/// <summary>
/// GET请求
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="url"></param>
/// <returns></returns>
public static T GetResponse<T>(string url) where T : class,new()
{
string returnValue = string.Empty;
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(url));
webReq.Method = "GET";
webReq.ContentType = "application/json";
using (HttpWebResponse response = (HttpWebResponse)webReq.GetResponse())
{
using (StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
returnValue = streamReader.ReadToEnd();
T result = default(T);
result = JsonConvert.DeserializeObject<T>(returnValue);
return result;
}
}
}
}
3.定义字段和方法获取:
//百度地图Api Ak
public const string BaiduAk = "9TxmFS8X1EXcUGZkqsDM4GKuayamwkbr"; /// <summary>
/// 经纬度 逆地理编码 Url 需要Format 0.ak 1.经度 2.纬度
/// </summary>
private const string BaiduGeoCoding_ApiUrl = "http://api.map.baidu.com/geocoder/v2/?ak={0}&location={1},{2}&output=json&pois=0"; /// <summary>
/// /// <summary>
/// 经纬度 逆地理编码 Url 需要Format 0.经度 1.纬度
/// </summary>
/// </summary>
public static string Baidu_GeoCoding_ApiUrl
{
get
{
return string.Format(BaiduGeoCoding_ApiUrl, BaiduAk, "{0}", "{1}");
}
} /// <summary>
/// 根据经纬度 获取 地址信息
/// </summary>
/// <param name="lat">经度</param>
/// <param name="lng">纬度</param>
/// <returns></returns>
public static BaiDuGeoCoding GeoCoder(string lat, string lng)
{
string url = string.Format(Baidu_GeoCoding_ApiUrl, lat, lng);
var model = HttpClientHelper.GetResponse<BaiDuGeoCoding>(url);
return model;
}
4.调用方法:
string lat = "22.228962";
string lng = "113.308784";
var model = GeoCoder(lat, lng); //model拿到的就是详细物理地址
C#根据经纬度获取物理地址的更多相关文章
- JS根据经纬度获取地址信息
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- 获取某地的经纬度 && 通过经纬度获取相应的地理位置
最近要通过一个经纬度判断该经纬度是否位于某个地区内,所以通过网上查找资料,整合后出了下面的内容. 1.通过地址获取改地址的经纬度 /** * @param addr * 查询的地址 * @return ...
- php根据经纬度获取城市名
/*php根据经纬度获取城市名*/ function get_my_addr_infos(){ $ch = curl_init(); $timeout = 5; $lat = $list['info' ...
- 百度api:根据经纬度获取地理位置信息
调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...
- JAVA通过经纬度获取两点之间的距离
private static double EARTH_RADIUS = 6378.137; private static double rad(double d) { return d * Math ...
- 高德地图 JS API - 根据经纬度获取周边建筑地标
像我们经常用的微信或微博,发表动态时都有选择位置的功能,根据当前的定位获取附近的地标.利用高德地图我们就可以实现这样的功能. 1. 具体代码: // 高德地图查询周边 function aMapSea ...
- .net根据经纬度获取地址(百度api)
private string GetAddress(string lng, string lat) { try { string url = @"http://api.map.baidu.c ...
- Google Map API v2 (三)----- 地图上添加标记(Marker),标记info窗口,即指定经纬度获取地址字符串
接上篇 http://www.cnblogs.com/inkheart0124/p/3536322.html 1,在地图上打个标记 private MarkerOptions mMarkOption; ...
- JavaScript根据经纬度获取距离信息
最近开发微信小程序,遇到了外卖配送半径的问题,在网上查阅了诸多资料,也大概理解了经纬度距离计算的公式原理,在此做下笔记,方便自己和大家学习使用. 若是把地球当作一个正常的球体(其实它是椭球)来说,球面 ...
随机推荐
- 二分法:CF371C-Hamburgers(二分法+字符串的处理)
Hamburgers Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Desc ...
- 动态规划:HDU-1398-Square Coins(母函数模板)
解题心得: 1.其实此题有两种做法,动态规划,母函数.个人更喜欢使用动态规划来做,也可以直接套母函数的模板 Square Coins Time Limit: 2000/1000 MS (Java/Ot ...
- Kubernetes添加带Quota限额的CephFS StorageClass
1. 在Ceph上为Kubernetes创建一个文件系统 # ceph osd pool create cephfs_data # ceph osd pool create cephfs_metada ...
- Compoer介绍
Compoer介绍 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 安装Composer Composer.phar 是 Compos ...
- excel VBA 将文本数值转换为数字格式(单元格中数据左上角是绿三角,鼠标点上有叹号标示)
Range("A6").SelectSelection.CopyRange("A10:A60").SelectRange(Selection, Selectio ...
- 【原创】React实例入门教程(1)基础API,JSX语法--hello world
前 言 毫无疑问,react是目前最最热门的框架(没有之一),了解并学习使用React,可以说是现在每个前端工程师都需要的. 在前端领域,一个框架为何会如此之火爆,无外乎两个原因:性能优秀,开发效率 ...
- Pass Data Between ASP.NET Pages
There is the data to send in current page <asp:TextBox ID="DataToSendTextBox" runat=&qu ...
- 安恒月赛 image up
http://101.71.29.5:10007/index.php?page=login 仔细观察这个url的话会发现,存在文件包含. 而且并没有login.php而是login,猜测代码是 < ...
- csu-2018年11月月赛Round2-div1题解
csu-2018年11月月赛Round2-div1题解 A(2191):Wells的积木游戏 Description Wells有一堆N个积木,标号1~N,每个标号只出现一次 由于Wells是手残党, ...
- Oracle 查看锁定对象 解锁
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不 ...