通过纬度和经度从反向地理编码中获取城市名称

时间:2015-11-09 16:36:32

标签: c# asp.net google-maps xml-parsing reverse-geocoding

http://maps.googleapis.com/maps/api/geocode/xml?latlng=39.952853,32.901470&sensor=false

在这个xml网址中,我无法从区域获取数据,如下所述。

<long_name>Altınevler Mahallesi</long_name>

我正在使用asp.net c#。你能帮我解决这个问题吗?

这是我试图从xml

获取数据的代码
XmlDocument xdoc = new XmlDocument();
xdoc.Load(
    "http://maps.googleapis.com/maps/api/geocode/xml?latlng=39.952853,32.901470&sensor=false"
    );

XmlNodeList xNodelst = xdoc.DocumentElement.SelectNodes("entry");

foreach (XmlNode xNode in xNodelst)
{
    label1.Text += "read";
}

1 个答案:

答案 0 :(得分:4)

我解决了我的问题,如果有人想知道我的猜测。解决方案如下所示。

谢谢

XmlDocument xDoc = new XmlDocument();
        xDoc.Load("https://maps.googleapis.com/maps/api/geocode/xml?latlng=" +coordinate+"&location_type=ROOFTOP&result_type=street_address&key=YOURAPIKEY");

        XmlNodeList xNodelst = xDoc.GetElementsByTagName("result");
        XmlNode xNode = xNodelst.Item(0);
        string adress = xNode.SelectSingleNode("formatted_address").InnerText;
        string mahalle = xNode.SelectSingleNode("address_component[3]/long_name").InnerText;
        string ilce = xNode.SelectSingleNode("address_component[4]/long_name").InnerText;
        string il = xNode.SelectSingleNode("address_component[5]/long_name").InnerText;

所以你可以为谷歌地图提取任何数据。