黑马程序员技术交流社区

标题: 关于怎么样用C#通过经纬来获得准确的地址 [打印本页]

作者: 陈君    时间: 2014-5-15 12:28
标题: 关于怎么样用C#通过经纬来获得准确的地址
本帖最后由 陈君 于 2014-5-16 09:14 编辑

最近想做个设计来申请软件著作权。初步的想法是用STM32加上GPS模块来获得经纬度。然后把获得的经纬度通过串口发送到电脑上,然后用C#写个上位机,上位机实现的功能是通过获得的经纬度得到准确的地址。现在的问题是,STM32处理GPS模块上的数据都没什么问题,主要是用C#怎么把获得到的经纬度来得到地址?希望有人能给个思路。
作者: /fendou    时间: 2014-5-15 13:03
主要是用C#怎么把获得到的经纬度来得到地址?不大明白你这句话什么意思?是想通过XY坐标知道向“北京市丰台区某某路”这样的地址?
作者: 陈君    时间: 2014-5-15 13:45
/fendou 发表于 2014-5-15 13:03
主要是用C#怎么把获得到的经纬度来得到地址?不大明白你这句话什么意思?是想通过XY坐标知道向“北京市丰台 ...

对的。就是这个样子。。。。。。
作者: /fendou    时间: 2014-5-15 14:11
namespace 通过坐标获得地址
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GetAddressByLatLng(39.910093, 116.403945));
            Console.ReadKey();
        }

        public static string GetAddressByLatLng(double lat, double lng)
        {
            WebClient client = new WebClient();//webclient客户端对象
            //string url = "http://maps.google.com/maps/api/geocode/xml?latlng=39.910093,116.403945&language=zh-CN&sensor=false";//请求地址  
            //http://maps.google.com/maps/api/geocode/xml?latlng=39.910093,116.403945&language=zh-CN&sensor=false
            string url = "http://maps.google.com/maps/api/geocode/xml?latlng=" + lat + "," + lng + "&language=zh-CN&sensor=false";//请求地址  
            client.Encoding = Encoding.UTF8;//编码格式
            string responseTest = client.DownloadString(url);//下载xml响应数据

            XmlDocument doc = new XmlDocument();//创建XML文档对象

            string address = "地址信息解析失败!";

            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();
                }
            }

            return address;//输出地址信息
        }
    }
}

引用这里的http://www.cnblogs.com/liuhaorain/archive/2012/01/31/2334018.html看看是不是你要的
作者: 陈君    时间: 2014-5-16 09:13
/fendou 发表于 2014-5-15 14:11
namespace 通过坐标获得地址
{
    class Program

这就是我要的。谢谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2