zoukankan      html  css  js  c++  java
  • C#根据经纬度获取物理地址

    调用命名空间:

    using System.Net;
    using System.IO;
    using System.Xml;

    调用事例:

    private string GetAddress(string lng, string lat) 

    {

          try

                {

                    string url = @"http://api.map.baidu.com/geocoder/v2/?ak=oGdNg8wTEMEIsC0uzqqD3nq0&callback=renderReverse&location=" + lat + "," + lng + @"&output=xml&pois=1";

                    WebRequest request = WebRequest.Create(url);

                    request.Method = "POST";

                    XmlDocument xmlDoc = new XmlDocument();

                    string sendData = xmlDoc.InnerXml;

                    byte[] byteArray = Encoding.Default.GetBytes(sendData);

                    Stream dataStream = request.GetRequestStream();

                    dataStream.Write(byteArray, 0, byteArray.Length);

                    dataStream.Close();

                    WebResponse response = request.GetResponse();

                    dataStream = response.GetResponseStream();

                    StreamReader reader = new StreamReader(dataStream, System.Text.Encoding.GetEncoding("utf-8"));

                    string responseXml = reader.ReadToEnd();

                    XmlDocument xml = new XmlDocument();

                    xml.LoadXml(responseXml);

                    string status = xml.DocumentElement.SelectSingleNode("status").InnerText;                                         if (status == "0")

                    {

                        XmlNodeList nodes = xml.DocumentElement.GetElementsByTagName("formatted_address");

                        if (nodes.Count > 0)

                        {

                            return nodes[0].InnerText;

                        }

                        else

                             return "未获取到位置信息,错误码3";

                        }

                    else

                    {

                        return "未获取到位置信息,错误码1";

                    }

                }

                catch (System.Exception ex)

                {

                    return "未获取到位置信息,错误码" + ex + "";

                }

     }

    ---注意:

        当status=“0”但nodes[0].InnerText结果依然为null时,在网址上查看url是否可以得到数据。

  • 相关阅读:
    函数、包和错误处理
    程序流程控制
    poj 2515 Birthday Cake
    poj 2094 多项式求和。
    hdu 3625 第一类striling 数
    hdu 4372 第一类stirling数的应用/。。。好题
    poj 1845 Sumdiv
    hdu 3641 Treasure Hunting 强大的二分
    poj 3335 /poj 3130/ poj 1474 半平面交 判断核是否存在 / poj1279 半平面交 求核的面积
    hdu 2841 Visible Trees
  • 原文地址:https://www.cnblogs.com/bingsying/p/7846724.html
Copyright © 2011-2022 走看看