Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The following should fit the bill:</p> <pre><code>using System; using System.Net; using System.Text; using System.Web; using System.Web.Script.Serialization; public class DistanceResponse { public string Status { get; set; } public string[] Origin_Addresses { get; set; } public string[] Destination_Addresses { get; set; } public Row[] Rows { get; set; } } public class Row { public Element[] Elements { get; set; } } public class Element { public string Status { get; set; } public Item Duration { get; set; } public Item Distance { get; set; } } public class Item { public int Value { get; set; } public string Text { get; set; } } class Program { static void Main() { using (var client = new WebClient()) { var values = HttpUtility.ParseQueryString(string.Empty); values["origins"] = "Vancouver BC|Seattle"; values["destinations"] = "San Francisco|Victoria BC"; values["mode"] = "bicycling"; values["language"] = "fr-FR"; values["sensor"] = "false"; var uriBuilder = new UriBuilder("http://maps.googleapis.com/maps/api/distancematrix/json"); uriBuilder.Query = values.ToString(); var result = client.DownloadData(uriBuilder.ToString()); var json = Encoding.UTF8.GetString(result); var serializer = new JavaScriptSerializer(); var distanceResponse = serializer.Deserialize&lt;DistanceResponse&gt;(json); if (string.Equals("ok", distanceResponse.Status, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("origin addresses: {0}", string.Join(", ", distanceResponse.Origin_Addresses)); Console.WriteLine("destination addresses: {0}", string.Join(", ", distanceResponse.Destination_Addresses)); foreach (var row in distanceResponse.Rows) { foreach (var element in row.Elements) { if (string.Equals("ok", element.Status, StringComparison.OrdinalIgnoreCase)) { Console.WriteLine("Distance: {0} {1}", element.Distance.Text, element.Distance.Value); Console.WriteLine("Duration: {0} {1}", element.Duration.Text, element.Duration.Value); } } } } } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload