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

查IP位置:  http://www.youdao.com/smartresult-xml/search.s?type=ip&q=218.30.189.31
返回:


218.30.189.31
天津市 电信




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

你可能感兴趣的:(web开发)