查找IP位置 \ c# 通过经纬度 查询地址、区域信息

查IP位置:  http://www.youdao.com/smartresult-xml/search.s?type=ip&q=218.30.189.31
返回:
<smartresult>
<product type="ip">
<ip>218.30.189.31</ip>
<location>天津市 电信</location>
</product>
</smartresult>



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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值