1

根据这篇谷歌文章https://developers.google.com/maps/documentation/distancematrix/ 我试图找出两个或更多位置之间的行驶距离,

所以我最初有两个邮政编码,分别是 M145AR (mancester) 和 NE65HL (Newcastle on type)

这是我的帖子网址

http://maps.googleapis.com/maps/api/directions/xml?origin=M145AR&destination=NE65HL&sensor=false&mode=driving

当我查看为此收到的 xml 响应时,我找不到任何方法来获取我的曼彻斯特邮政与泰恩河畔纽卡斯尔邮政编码之间的行驶距离

有人可以让我知道我的帖子网址有什么问题吗?

请参阅我用于此的波纹管代码

string strURL = "http://maps.google.com/maps/api/directions/xml?origin=53.452824,-2.220085&destination=54.981049,-1.580597&mode=driving&sensor=false"; 列表距离 = new List();

            distances.Clear();
            HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create(strURL);

            HttpWebResponse wResponse = (HttpWebResponse)wRequest.GetResponse();
            if (wRequest.HaveResponse)
            {
                if (wResponse.StatusCode == HttpStatusCode.OK)
                {
                    StreamReader StreamHandler = new System.IO.StreamReader(wResponse.GetResponseStream());
                    XmlDocument xmlDoc = new XmlDocument();
                    xmlDoc.LoadXml(StreamHandler.ReadToEnd());
                    Response.Write(xmlDoc.GetElementsByTagName("distance").Count.ToString() + ",");
                    for (int w = 0; w < xmlDoc.GetElementsByTagName("distance").Count; w++)
                    {
                        distances.Add(float.Parse(xmlDoc.GetElementsByTagName("distance")[w].ChildNodes[0].InnerText));                            
                    }
                }

                string aa = string.Empty;
            }

当我检查距离列表时,我得到波纹管数组 Count = 27

[0]: 106.0
[1]: 53.0
[2]: 457.0
[3]: 2470.0
[4]: 2106.0
[5]: 805.0
[6]: 1211.0
[7]: 6349.0
[8]: 660.0
[9]: 1226.0
[10]: 59693.0
[11]: 19597.0
[12]: 60784.0
[13]: 16839.0
[14]: 54486.0
[15]: 890.0
[16]: 475.0
[17]: 5702.0
[18]: 1388.0
[19]: 406.0
[20]: 161.0
[21]: 1405.0
[22]: 605.0
[23]: 489.0
[24]: 34.0
[25]: 72.0
[26]: 238469.0

所以我不知道从曼彻斯特到纽卡斯尔的真实行驶距离是多少。根据谷歌,曼彻斯特和纽卡斯尔之间行驶距离的粗略估计是:148 英里

我不确定如何从 google xml 响应中获得此值,任何帮助将不胜感激。

问候 kksfdo

4

1 回答 1

0

如果您只想计算行驶距离而不是计算每一步的距离,那么您可以简单地选择使用距离矩阵。

如果您更改您的网址 http://maps.google.com/maps/api/directions/xml?origin=53.452824,-2.220085&destination=54.981049,-1.580597&mode=driving&sensor=false

到 URL http://maps.google.com/maps/api/distancematrix/xml?origin=53.452824,-2.220085&destination=54.981049,-1.580597&mode=driving&sensor=false

您将获得总行程的距离和持续时间,但不会获得开车到目的地的每一步的距离。

这是一个相当古老的问题,但由于没有答案,我试图提供帮助。任何建议表示赞赏。

于 2016-10-14T20:42:16.923 回答