private async void CalculateRouteToDisplay() { // Clear map routes Map.Routes.Clear(); // Get list of all longitude and latitude values from our Stops List <BasicGeoposition> allLongitudesAndLatitudes = new List <BasicGeoposition>(); foreach (var stop in Stops) { allLongitudesAndLatitudes.Add(new BasicGeoposition() { Latitude = decimal.ToDouble(stop.Latitude), Longitude = decimal.ToDouble(stop.Longitude) }); } if (allLongitudesAndLatitudes.Count >= 2) { var route = await mapService.CalculateRoute(allLongitudesAndLatitudes); if (route != null) { route.RouteColor = Colors.Yellow; route.OutlineColor = Colors.Black; Map.Routes.Add(route); } SetBounds(route); } }
/// <summary> /// This function takes in a list of geopositions, and tells the map /// service to create a route using this list. Existing routes on the /// map are cleared. /// </summary> /// <param name="stopLocations"></param> private async void ReDrawRoute(List <BasicGeoposition> stopLocations) { // Clear routes from Map Map.Routes.Clear(); var route = await mapService.CalculateRoute(stopLocations); if (route != null) { route.RouteColor = Colors.Yellow; route.OutlineColor = Colors.Black; Map.Routes.Add(route); } // Set the view of the map to encompass all of the route RetrieveBoundingBox(route.Route.BoundingBox); }