zoukankan      html  css  js  c++  java
  • 根据经度和纬度返回地理位置 LocationAPi

    View Code
    publicclass LocationAPI
    {
    privatestaticstring GeoCodeUrl = ConfigurationManager.AppSettings["GeoCodeUrl"];
    privatestaticstring GoogleGearUrl = ConfigurationManager.AppSettings["GoogleGearUrl"];
    privatestaticstring UseGoogleReverse = ConfigurationManager.AppSettings["UseGoogleReverse"];

    ///<summary>
    /// Initializes a new instance of the <see cref="LocationAPI"/> class.
    ///</summary>
    public LocationAPI()
    {

    }

    publicstaticstring GetAddressFromLL(string Lat, string Lng)
    {

    string url ="http://ws.geonames.org/findNearestAddress?lat="+ Lat +"&lng="+ Lng;
    WebResponse response
    =null;
    Stream stream
    =null;
    StreamReader reader
    =null;

    try
    {
    HttpWebRequest request
    = (HttpWebRequest)WebRequest.Create(url);
    request.UserAgent
    =@"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.40607; .NET CLR 1.1.4322)";
    request.Timeout
    =1;
    response
    = request.GetResponse();
    stream
    = response.GetResponseStream();
    reader
    =new StreamReader(stream, System.Text.Encoding.UTF8);
    XmlDocument xDoc
    =new XmlDocument();
    xDoc.Load(stream);
    XmlNode xStreet
    = xDoc.SelectSingleNode("geonames/address/street");
    XmlNode xStreetNumber
    = xDoc.SelectSingleNode("geonames/address/streetNumber");
    XmlNode xPlacename
    = xDoc.SelectSingleNode("geonames/address/placename");
    XmlNode xCountryCode
    = xDoc.SelectSingleNode("geonames/address/countryCode");
    string address = xStreet.InnerText +""+ xStreetNumber.InnerText +", "+ xPlacename.InnerText +", "+ xCountryCode.InnerText +"";
    return address;

    }
    catch(Exception ex)
    {
    DAL.Log.Write(DateTime.Now.ToString()
    +"\0"+ ex.Message.ToString() +"\r\n");
    return"UnKnown";
    }
    finally
    {
    if (reader !=null) reader.Close();
    if (stream !=null) stream.Close();
    if (response !=null) response.Close();
    }
    }
    }
  • 相关阅读:
    easyui-numberbox后台获取数据后,鼠标一点击就自动清空了
    easyui只显示年月,时间格式
    解决ASP.Net第一次访问慢的处理 IIS 7.5
    解决ASP.Net第一次访问慢的处理(IIS8)
    在SQL2005中修改数据库名称
    HTML代码中<%%>、<%=%>
    c#中virtual, abstract和override的区别和用法
    Eclipse导入工程Some projects cannot be imported because they already exist in the workspace
    mvn package
    ipod导入音乐
  • 原文地址:https://www.cnblogs.com/lelese7en/p/2074124.html
Copyright © 2011-2022 走看看