• 根据经度和纬度返回地理位置 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();
    }
    }
    }
  • 相关阅读:
    一起学编程(2--认识世界)
    在CentOS 6 中安装 Apache,Mysql, PHP
    JavaScript的代码库
    http get请求获取server返回的应答数据
    Effective C++ 45-48
    通过telent、php深入了解http协议
    UVA 10069 Distinct Subsequences(DP)
    Linux局域网搭建
    iTextSharp之pdfRead(两个文件文本内容的比较,指定页数的pdf截取,水印的添加)
    c#操作pdf文件系列之创建文件
  • 原文地址:https://www.cnblogs.com/lelese7en/p/2074124.html
Copyright © 2020-2023  润新知