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就是获取到的具体地址信息和区域信息;

相关文章

  • C# FileStream实现大文件复制

    C# FileStream实现大文件复制

    这篇文章主要为大家详细介绍了C# FileStream实现大文件复制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 浅析c# 接口

    浅析c# 接口

    这篇文章主要介绍了c# 接口的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下。
    2020-07-07
  • 基于C#调用OCX控件的常用方法(推荐)

    基于C#调用OCX控件的常用方法(推荐)

    下面小编就为大家分享一篇基于C#调用OCX控件的常用方法推荐,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#使用RabbitMQ发送和接收消息工具类的实现

    C#使用RabbitMQ发送和接收消息工具类的实现

    RabbitMQ是一个消息的代理器,用于接收和发送消息,本文主要介绍了C#使用RabbitMQ发送和接收消息工具类的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • C#简单数字图像处理程序

    C#简单数字图像处理程序

    这篇文章主要为大家详细介绍了C#简单数字图像处理程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • C# DataTable 转换为 实体类对象实例

    C# DataTable 转换为 实体类对象实例

    如果你的实体类与数据库表是完全一致的。上代码:
    2013-04-04
  • 详解c#与js的rsa加密互通

    详解c#与js的rsa加密互通

    这篇文章主要介绍了详解c#与js的rsa加密互通,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • C#控制台带参数程序源码编写实例讲解

    C#控制台带参数程序源码编写实例讲解

    像ipconfig /all 这样的CMD命令想必大家都知道,但是很多童鞋可能不知道怎么写这样的控制台带参数的程序,需要的朋友可以了解下
    2012-12-12
  • C#设计模式实现之生成器模式和责任链模式

    C#设计模式实现之生成器模式和责任链模式

    学完设计模式之后,你就感觉它会慢慢地影响到你写代码的思维方式,下面这篇文章主要给大家介绍了关于C#设计模式实现之生成器模式和责任链模式的相关资料,需要的朋友可以参考下
    2021-08-08
  • c# 连接池的设置与使用

    c# 连接池的设置与使用

    这篇文章主要介绍了c# 连接池的设置与使用,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2021-01-01

最新评论