public Leg(OnlineMapsXML node)
        {
            List <Step> steps = new List <Step>();

            foreach (OnlineMapsXML n in node)
            {
                if (n.name == "step")
                {
                    steps.Add(new Step(n));
                }
                else if (n.name == "duration")
                {
                    duration = new TextValue <int>(n);
                }
                else if (n.name == "duration_in_traffic")
                {
                    duration_in_traffic = new TextValue <int>(n);
                }
                else if (n.name == "distance")
                {
                    distance = new TextValue <int>(n);
                }
                else if (n.name == "start_location")
                {
                    start_location = OnlineMapsXML.GetVector2dFromNode(n);
                }
                else if (n.name == "end_location")
                {
                    end_location = OnlineMapsXML.GetVector2dFromNode(n);
                }
                else if (n.name == "start_address")
                {
                    start_address = n.Value();
                }
                else if (n.name == "end_address")
                {
                    end_address = n.Value();
                }
                else if (n.name == "via_waypoint")
                {
                    via_waypoint = new ViaWaypoint(n);
                }
                else if (n.name == "arrival_time")
                {
                    arrival_time = new TextValueZone <string>(n);
                }
                else if (n.name == "departure_time")
                {
                    departure_time = new TextValueZone <string>(n);
                }
                else
                {
                    Debug.Log("Leg: " + n.name + "\n" + n.outerXml);
                }
            }

            this.steps = steps.ToArray();
        }
 public TransitDetails(OnlineMapsXML node)
 {
     foreach (OnlineMapsXML n in node)
     {
         if (n.name == "arrival_stop")
         {
             arrival_stop = new NameLocation(n);
         }
         else if (n.name == "departure_stop")
         {
             departure_stop = new NameLocation(n);
         }
         else if (n.name == "arrival_time")
         {
             arrival_time = new TextValueZone <string>(n);
         }
         else if (n.name == "departure_time")
         {
             departure_time = new TextValueZone <string>(n);
         }
         else if (n.name == "headsign")
         {
             headsign = n.Value();
         }
         else if (n.name == "headway")
         {
             headway = n.Value <int>();
         }
         else if (n.name == "num_stops")
         {
             num_stops = n.Value <int>();
         }
         else if (n.name == "line")
         {
             line = new Line(n);
         }
         else
         {
             Debug.Log("TransitDetails: " + n.name + "\n" + n.outerXml);
         }
     }
 }