c# 通过经纬度查询 具体的地址和区域名称

 更新时间:2012年11月21日 11:11:55   作者:  
最近项目需要通过经纬度查询 具体的地址和区域名称,通过查询网络资源,发现提供的大多是得到具体的地址而对区域或城市名称的获取就不是很好把握;在这里自己搞了个,需要的朋友可以参考下
最近项目需要通过经纬度查询 具体的地址和区域名称,通过查询网络资源,发现提供的大多是得到具体的地址而对区域或城市名称的获取就不是很好把握;在这里自己搞了个:
复制代码 代码如下:

//webclient客户端对象
WebClient client = new WebClient();
string url = "http://maps.google.com/maps/api/geocode/xml?latlng=" + latitude + "," + longitude + "&language=zh-CN&sensor=false";//请求地址
client.Encoding = Encoding.UTF8;//编码格式
string responseTest = client.DownloadString(url);
//下载xml响应数据
string address = "";//返回的地址
XmlDocument doc = new XmlDocument();
//创建XML文档对象
if (!string.IsNullOrEmpty(responseTest))
{
doc.LoadXml(responseTest);//加载xml字符串
//查询状态信息
string xpath = @"GeocodeResponse/status";
XmlNode node = doc.SelectSingleNode(xpath);
string status = node.InnerText.ToString();
if (status == "OK") {
//查询详细地址信息
xpath = @"GeocodeResponse/result/formatted_address";
node = doc.SelectSingleNode(xpath);
address = node.InnerText.ToString();
//查询地区信息
XmlNodeList nodeListAll = doc.SelectNodes("GeocodeResponse/result");

XmlNode idt = nodeListAll[0];
XmlNodeList idts = idt.SelectNodes("address_component[type='sublocality']");
//address_component[type='sublocality']表示筛选type='sublocality'的所有相关子节点;
XmlNode idtst = idts[0];

string area = idtst.SelectSingleNode("short_name").InnerText;
address = address + "," + area;
}
}

address就是获取到的具体地址信息和区域信息;

相关文章

  • 可替代log4j日志的c#简单日志类队列实现类代码分享

    可替代log4j日志的c#简单日志类队列实现类代码分享

    简单日志类队列实现。可按天周月年大小分割文件。可简单替代log4j
    2013-12-12
  • C#迭代器模式(Iterator Pattern)实例教程

    C#迭代器模式(Iterator Pattern)实例教程

    这篇文章主要介绍了C#迭代器模式(Iterator Pattern),包括了迭代器的适用范围及用法实例,需要的朋友可以参考下
    2014-09-09
  • C#科学绘图之使用scottPlot绘制多个图像

    C#科学绘图之使用scottPlot绘制多个图像

    ScottPlot是基于.Net的一款开源免费的交互式可视化库,支持Winform和WPF等UI框架,本文主要为大家详细介绍了如何使用scottPlot实现绘制多个图像,需要的可以参考下
    2023-12-12
  • C#生成二维码的方法

    C#生成二维码的方法

    这篇文章主要介绍了C#生成二维码的方法,包括动态链接库dll文件的调用、代码的实现与使用示例,非常实用,需要的朋友可以参考下
    2014-11-11
  • C#开发教程之FTP上传下载功能详解

    C#开发教程之FTP上传下载功能详解

    这篇文章主要为大家详细介绍了C#开发教程之FTP上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • C#程序加密工具.Net Reactor详细教程

    C#程序加密工具.Net Reactor详细教程

    .Net Reacto加密工具是一款强大的 .NET 代码保护和授权管理系统,安全可靠、简单易用,主要用来帮助开发人员保护他们的 .NET 软件产品,本文给大家详细介绍C#程序加密工具.Net Reactor教程,感兴趣的朋友一起看看吧
    2022-02-02
  • 一道关于C#参数传递的面试题分析

    一道关于C#参数传递的面试题分析

    这篇文章主要介绍了一道关于C#参数传递的面试题,实例分析了C#参数传递的相关使用技巧,需要的朋友可以参考下
    2015-05-05
  • C#操作SQLite方法实例详解

    C#操作SQLite方法实例详解

    这篇文章主要介绍了C#操作SQLite方法,以实例形式详细分析了C#操作SQLite的连接、查询、插入、修改等相关技巧,需要的朋友可以参考下
    2015-06-06
  • 基于C#解决库存扣减及订单创建时防止并发死锁的问题

    基于C#解决库存扣减及订单创建时防止并发死锁的问题

    这篇文章主要介绍了基于C#解决库存扣减及订单创建时防止并发死锁的问题,很多开发人员对于这个问题的排查起来是比较困难的,而生产生的原因多种多样,很多人认是因为表中的数据太多了同时操作的人多人才会产生这种错误,下面我们来还原一下死锁的过程
    2022-05-05
  • Unity性能优化Shader函数ShaderUtil.GetShaderGlobalKeywords用法示例

    Unity性能优化Shader函数ShaderUtil.GetShaderGlobalKeywords用法示例

    这篇文章主要为大家介绍了Unity性能优化Shader函数ShaderUtil.GetShaderGlobalKeywords用法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论