public List <Location> GetRoteDirections(Location start, Location end, GMapV2DirectionMode mode) { var _ret = new List <Location>(); var _data = this.GetDirectionsFromServer(start, end, mode, GMapV2DirectionReturnType.Json); if (!_data.Equals("")) { JObject _result = JObject.Parse(_data); var _status = _result["status"]; var _routes = JArray.Parse(_result["routes"].ToString()); if (_status.ToString().Equals("OK")) { var _legs = JArray.Parse(_routes[0]["legs"].ToString()); var _steps = JArray.Parse(_legs[0]["steps"].ToString()); foreach (var _step in _steps) { _ret.Add(this.GetLatLng(JObject.Parse(_step["start_location"].ToString()))); var _polyline = JObject.Parse(_step["polyline"].ToString()); _ret.AddRange(this.DecodePolylinePoints(_polyline["points"].ToString())); _ret.Add(this.GetLatLng(JObject.Parse(_step["end_location"].ToString()))); } } } return(_ret); }
public RootObject GetRootObject(Location start, Location end, GMapV2DirectionMode mode) { var _data = GetDirectionsFromServer(start, end, mode, GMapV2DirectionReturnType.Json); var _ret = JsonConvert.DeserializeObject <RootObject>(_data); return(_ret); }
private string GetDirectionsFromServer(Location start, Location end, GMapV2DirectionMode mode, GMapV2DirectionReturnType typeServer) { string _mode = ""; string _type = ""; switch (mode) { case GMapV2DirectionMode.Driving: _mode = "driving"; break; case GMapV2DirectionMode.Walking: _mode = "walking"; break; } switch (typeServer) { case GMapV2DirectionReturnType.Xml: _type = "xml"; break; case GMapV2DirectionReturnType.Json: _type = "json"; break; } var _format = new CultureInfo("en-us").NumberFormat; string _url = string.Format("http://maps.googleapis.com/maps/api/directions/{0}?origin={1},{2}&destination={3},{4}&sensor=false&units=metric&mode={5}", _type, start.Latitude.ToString(_format), start.Longitude.ToString(_format), end.Latitude.ToString(_format), end.Longitude.ToString(_format), _mode); return(this.GetStringDataFromServer(_url)); }
public XmlDocument GetXmlDocument(Location start, Location end, GMapV2DirectionMode mode) { XmlDocument doc = new XmlDocument(); doc.LoadXml(this.GetDirectionsFromServer(start, end, mode, GMapV2DirectionReturnType.Xml)); return(doc); }