用于查找特定地址的纬度和经度的源代码 [英] Source code for finding latitude and longitude for a particular address

查看:150
本文介绍了用于查找特定地址的纬度和经度的源代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望使用c#和Asp.NET获取特定地址的纬度和经度

请帮助我使用googlemap

解决方案

< blockquote>以下是如何操作的示例:



  public   void  GetCoOrdinates( string  street, string  city, string  state)
{
string serviceUri = string .Format( http://rpc.geocoder.us/service/休息?地址= {0},{1},{2},街道,城市,州);
XmlDocument serviceXmlDoc = new XmlDocument();
serviceXmlDoc.Load(serviceUri);
XmlNamespaceManager geoCoderManager = new XmlNamespaceManager(serviceXmlDoc.NameTable);
geoCoderManager.AddNamespace( geoCoderService @ http://www.w3.org/2003/01/geo/wgs84_pos#);
string 经度= serviceXmlDoc.DocumentElement.SelectSingleNode( @ // geoCoderService:long,geoCoderManager).InnerText;
string latitude = serviceXmlDoc.DocumentElement.SelectSingleNode( @ // geoCoderService:lat,geoCoderManager).InnerText;
MessageBox.Show( String .Format( 纬度:{0}纬度:{1},纬度,经度));
}





而不是你可以写的消息框 Response.Write()或类似的网络应用程序。



希望这有帮助


试试这个:它有效对我来说...



  public 列表<串GT; GetCoOrdinates( string  street, string  city, string 州)
{
尝试
{
List< string> lstCordinates = new List< string>();

string serviceUri = string .Format( http://rpc.geocoder.us/service/rest?address= {0},{1},{2} ,街道,城市,国家);

XmlDocument serviceXmlDoc = new XmlDocument();

serviceXmlDoc.Load(serviceUri);

XmlNamespaceManager geoCoderManager = new XmlNamespaceManager(serviceXmlDoc.NameTable);

geoCoderManager.AddNamespace( geoCoderService @ http://www.w3.org/2003/01/geo/wgs84_pos#);

string 经度= serviceXmlDoc.DocumentElement.SelectSingleNode( @ // geoCoderService:long,geoCoderManager).InnerText;

string latitude = serviceXmlDoc.DocumentElement.SelectSingleNode( @ // geoCoderService:lat,geoCoderManager).InnerText;

// Console.WriteLine(String.Format(纬度:{0}纬度: {1},纬度,经度));

lstCordinates.Add(纬度);
lstCordinates.Add(经度);

return lstCordinates;
}
catch (例外情况)
{
throw ex;
}
} < / string > < / string > < / string >


显示以下错误

根级别的数据无效。第1行,第1位。


I want to get the latitude and longitude for a particular address using c# and Asp.NET
Please help me anybody using googlemap

解决方案

Here is an example of how to do it :

public void GetCoOrdinates(string street, string city, string state)
        {
            string serviceUri = string.Format("http://rpc.geocoder.us/service/rest?address={0},{1},{2}", street, city, state);
            XmlDocument serviceXmlDoc = new XmlDocument();
            serviceXmlDoc.Load(serviceUri);
            XmlNamespaceManager geoCoderManager = new XmlNamespaceManager(serviceXmlDoc.NameTable);
            geoCoderManager.AddNamespace("geoCoderService", @"http://www.w3.org/2003/01/geo/wgs84_pos#");
            string longitude = serviceXmlDoc.DocumentElement.SelectSingleNode(@"//geoCoderService:long", geoCoderManager).InnerText;
            string latitude = serviceXmlDoc.DocumentElement.SelectSingleNode(@"//geoCoderService:lat", geoCoderManager).InnerText;
            MessageBox.Show(String.Format("Latitude: {0} Latitude: {1}", latitude, longitude));
        }



instead of a message box you can just write Response.Write() or similar for a web app.

Hope this helps


Try this: It worked for me...

public List<string> GetCoOrdinates(string street, string city, string state)
        {
            try
            {
                List<string> lstCordinates = new List<string>();

                string serviceUri = string.Format("http://rpc.geocoder.us/service/rest?address={0},{1},{2}", street, city, state);

                XmlDocument serviceXmlDoc = new XmlDocument();

                serviceXmlDoc.Load(serviceUri);

                XmlNamespaceManager geoCoderManager = new XmlNamespaceManager(serviceXmlDoc.NameTable);

                geoCoderManager.AddNamespace("geoCoderService", @"http://www.w3.org/2003/01/geo/wgs84_pos#");

                string longitude = serviceXmlDoc.DocumentElement.SelectSingleNode(@"//geoCoderService:long", geoCoderManager).InnerText;

                string latitude = serviceXmlDoc.DocumentElement.SelectSingleNode(@"//geoCoderService:lat", geoCoderManager).InnerText;

                //Console.WriteLine(String.Format("Latitude: {0} Latitude: {1}", latitude, longitude));

                lstCordinates.Add(latitude);
                lstCordinates.Add(longitude);

                return lstCordinates;
            }
            catch (Exception ex)
            {
                throw ex;
            }            
        }</string></string></string>


it showing below error
Data at the root level is invalid. Line 1, position 1.


这篇关于用于查找特定地址的纬度和经度的源代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆