GOOGLE MAPS API sample program

SAMPLE CLASS TO GET DISTANCE BETWEEN TWO GEO PLACES AND AND RETRIEVE OTHER DETAILS by USING GOOGLE MAPS API

/*just uploaded without explanations ,if someone needs more contact me*/

 

using System.IO;
using System.Net;
using System.Xml;

/*
* author : @kushanlahiru
*
*
how to use the class
*
*first setValues(string destination, string origin)
*second calculateDistance()
*third get values distance or travel details
*/
namespace Data
{
public class GoogleDistance
{

private string destination;

private string origin;

private string distance;

private string travelDetail;
GoogleDistance() //constructor
{
destination=””;
origin=””;
distance=””;
travelDetail=””;
}
public string getTravelDetail()
{
return travelDetail;
}

 

public string getDistance()
{
return distance;
}

 

public void setValues(string destination, string origin)
{
this.destination = destination;
this.origin = origin;
}

 

public void calculateDistance()
{

string xmlResult = null;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“http://maps.googleapis.com/maps/api/distancematrix/xml?origins=”
+ origin + “&destinations=” + destination + “&mode=Car&language=us-en&sensor=false”);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader resStream = new StreamReader(response.GetResponseStream());
XmlDocument doc = new XmlDocument();
xmlResult = resStream.ReadToEnd();
doc.LoadXml(xmlResult);

string output = “”;

try
{
if (doc.DocumentElement.SelectSingleNode(“/DistanceMatrixResponse/row/element/status”).InnerText.ToString().ToUpper() != “OK”)
{
travelDetail = “Invalid City Name please or entries, try again”;
return;
}
XmlNodeList xnList = doc.SelectNodes(“/DistanceMatrixResponse”);
foreach (XmlNode xn in xnList)
{
if (xn[“status”].InnerText.ToString() == “OK”)
{
output = “<table align=’center’ width=’600′ cellpadding=’0′ cellspacing=’0′>”;
output += “<tr><td height=’60’ colspan=’2′ align=’center’><b>Travel Details</b></td>”;
output += “<tr><td height=’40’ width=’30%’ align=’left’>Orgin Place</td><td align=’left’>” + xn[“origin_address”].InnerText.ToString() + “</td></tr>”;
output += “<tr><td height=’40’ align=’left’>Destination Place</td><td align=’left’>” + xn[“destination_address”].InnerText.ToString() + “</td></tr>”;
output += “<tr><td height=’40’ align=’left’>Travel Duration (apprx.)</td><td align=’left’>” + doc.DocumentElement.SelectSingleNode(“/DistanceMatrixResponse/row/element/duration/text”).InnerText + “</td></tr>”;
output += “<tr><td height=’40’ align=’left’>Distance</td><td align=’left’>” + doc.DocumentElement.SelectSingleNode(“/DistanceMatrixResponse/row/element/distance/text”).InnerText + “</td></tr>”;
output += “</table>”;

travelDetail = output;

distance = doc.DocumentElement.SelectSingleNode(“/DistanceMatrixResponse/row/element/distance/text”).InnerText;
}
}
}
//catch (Exception ex)
//{

// return;
//}
finally
{

}
}//end of get distance method
}
}

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s