/// <summary>
    /// Constructor. \n
    /// <strong>Please do not use. </strong>\n
    /// Use OnlineMapsDirectionStep.TryParse.
    /// </summary>
    /// <param name="node">XMLNode of route</param>
    public OnlineMapsDirectionStep(XmlNode node)
    {
        start = node.GetLatLng("start_location");
        end = node.GetLatLng("end_location");
        duration = node.GetInt("duration/value");
        instructions = node.SelectSingleNode("html_instructions").InnerText;
        distance = node.GetInt("distance/value");

        XmlNode maneuverNode = node.SelectSingleNode("maneuver");
        if (maneuverNode != null) maneuver = maneuverNode.InnerText;
        
        XmlNode encodedPoints = node.SelectSingleNode("polyline/points");
        if (encodedPoints != null) points = OnlineMapsGoogleAPIQuery.DecodePolylinePoints(encodedPoints.InnerText);
    }