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是否可以得到数据。

  • 相关阅读:
    《深入理解C#》泛型高级
    vs2019 插件下载慢的解决方法
    C# Tuple和 ValueTuple
    前端ajax用json方式请求 后端php 用 $GLOBALS['HTTP_RAW_POST_DATA'] 取值
    Vue之Axios跨域问题解决方案
    Jquery自定义方法获取URL后面参数
    C# List 某行数据置顶
    EF空字段使用contains查询的解决办法
    sql语句查询,多字段like模糊查询优化
    Asp.Net Core中间件
  • 原文地址:https://www.cnblogs.com/bingsying/p/7846724.html
Copyright © 2011-2022 走看看