public static double GetDrivingDistanceInMiles(string origin, string destination)
{
string url = @"http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" +
origin + "&destinations=" + destination +
"&mode=driving&sensor=false&language=en-EN&units=imperial";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader sreader = new StreamReader(dataStream);
string responsereader = sreader.ReadToEnd();
response.Close();
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(responsereader);
if (xmldoc.GetElementsByTagName("status")[0].ChildNodes[0].InnerText == "OK")
{
XmlNodeList distance = xmldoc.GetElementsByTagName("distance");
return Convert.ToDouble(distance[0].ChildNodes[1].InnerText.Replace(" mi", ""));
}
return 0;
}
xmldoc.LoadXml(responsereader); I have error in this line "Data index at root value is invalid.Line1.Position.1"