private string BuildEncodedPolyline(List <List <double> > coordinates) { var utility = new PolylineUtility(); var geoPoints = new List <IGeoCoordinate>(); foreach (var point in coordinates) { geoPoints.Add(new GeoCoordinate( Math.Round(point[1], 3), Math.Round(point[0], 3) )); } return(utility.Encode(geoPoints)); }
public PartialViewResult RideData([FromQuery] string Id) { var utility = new PolylineUtility(); Strava.Activities.Activity ride = client.Activities.GetActivity(Id, true); List <Strava.Streams.ActivityStream> watts = client.Streams.GetActivityStream(Id, Strava.Streams.StreamType.Watts, Strava.Streams.StreamResolution.High); var stream = watts; var decodedPoints = utility.Decode(ride.Map.Polyline); var polyArray = JsonConvert.SerializeObject(decodedPoints); var test = client.Streams.GetActivityStream(Id, Strava.Streams.StreamType.Watts); ViewData["watts"] = stream[1]; ViewData["rideData"] = ride; ViewData["poly"] = polyArray; return(PartialView("~/Views/Strava/RideData.cshtml", ride)); }
private string PrepareUrl(List <double> lat, List <double> lng) { var geoPoints = new List <IGeoCoordinate>(); for (int i = 0; i < lat.Count; i++) { if (i % 50 == 0) { geoPoints.Add(new GeoCoordinate(lat[i], lng[i])); } } var polylineUtility = new PolylineUtility(); var polyLine = polylineUtility.Encode(geoPoints); string encodedPolyline = HttpUtility.UrlEncode(polyLine); string url = "https://api.mapbox.com/styles/v1/mapbox/streets-v11/static/path-3+FF0000(" + encodedPolyline + ")/auto/500x300?access_token=" + config.MAPBOX_KEY; return(url); }