1

Google マップ (C#、ASP.NET) で走行距離を取得するために XML リクエストを使用しています。私のサンプル リクエストは次のとおりです。

string strURL = "http://maps.google.com/maps/api/directions/xml?origin=" + Session["UserLat"].ToString() + "," + Session["UserLon"].ToString() + "&destination=" + tmpList[d].X + "," + tmpList[d].Y + "&mode=driving&sensor=false";
List<float> distances = new List<float>();
distances.Clear();
HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create(strURL);
//Request.Headers.Add("Man", "GET " + strURL);
HttpWebResponse wResponse = (HttpWebResponse)wRequest.GetResponse();
if (wRequest.HaveResponse)
{
    if (wResponse.StatusCode == HttpStatusCode.OK)
    {
        StreamHandler = new System.IO.StreamReader(wResponse.GetResponseStream());
        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));

        }
    }
}

一部のリクエストは 0 の距離を返すようです。もちろん、コードを実行するたびに異なる結果が得られます。マップ上にいくつかのポイント (約 19 ポイント) があり、それらのほぼ半分が 0 の距離を返します。距離に基づくアイテムですが、距離が0になると何もできません!ループで距離を取得していますが、ここで何が問題になっていますか?

4

0 に答える 0