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根据经纬度获取距离信息
最近开发微信小程序,遇到了外卖配送半径的问题,在网上查阅了诸多资料,也大概理解了经纬度距离计算的公式原理,在此做下笔记,方便自己和大家学习使用. 若是把地球当作一个正常的球体(其实它是椭球)来说,球面 ...
随机推荐
- [Uva1642]魔法Gcd(数论)
Description 给定n个数,某个连续区间[L,R]的收益为\(gcd(A_l,A_{l+1},A_{l+2}...A_r)*(r-l+1)\), 求收益最大的区间的收益值 \(1 \leq n ...
- UVA 10859 Placing Lamppost 树形DP+二目标最优解的求解方案
题意:给定一个无向,无环,无多重边,要求找出最少的若干点,使得,每条边之中至少有一个点上有街灯.在满足上述条件的时候将还需要满足让两个点被选择的边的数量尽量多. 题解: 对于如何求解最小的节点数目这点 ...
- flex遭遇text-overflow:hidden,white-space:nowrap
最近在项目中遇到使用flex的时候,在flex-item元素中使用text-overflow:hidden:white-space:nowrap:进行省略文字的操作. 发现flex-item失控了,长 ...
- loj2051 「HNOI2016」序列
ref #include <algorithm> #include <iostream> #include <cstdio> #include <cmath& ...
- requireJS入门学习
前言 最近网上.群里各种随便看,随便学.暑期实习还没找到,昨天开题过了,好好学习吧.最近一直看到前端的ADM,CMD规范,然后网上各种找资料看,看了好几个牛人的博客,写的很好,然后自我感觉了解了点,介 ...
- android adb常用指令
介绍一个更详细的介绍ADB的: https://github.com/mzlogin/awesome-adb/blob/master/README.md ----------------------- ...
- 菜鸟之路——git学习及GitHub的使用
首先,感谢廖雪峰老师的git教程 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 ...
- 2018CCPC网络赛
A - Buy and Resell HDU - 6438 The Power Cube is used as a stash of Exotic Power. There are nn cities ...
- [转]/dev/null 命令用法
/dev/null :代表空设备文件 :代表重定向到哪里,例如:echo "123" > /home/123.txt 1 :表示stdout标准输出,系统默认值是1,所以&q ...
- POJ 2217:Secretary(后缀数组)
题目大意:求两个字符串的公共子串. 分析: 模板题,将两个字符串接起来用不会出现的字符分割,然后求分属两个字符串的相邻后缀lcp的最大值即可. 代码: program work; type arr=. ...