private void FetchRoute() { NavigationRoute.Builder builder = NavigationRoute.InvokeBuilder(this) .AccessToken(Mapbox.Mapboxsdk.Mapbox.AccessToken) .Origin(currentLocation) .Profile(GetRouteProfileFromSharedPreferences()) .Alternatives((Java.Lang.Boolean)true); foreach (Point wayPoint in wayPoints) { builder.AddWaypoint(wayPoint); } SetFieldsFromSharedPreferences(builder); builder.Build().GetRoute(new MyGetRouteCallback((routes) => { HideLoading(); route = routes[0]; if (Convert.ToInt32(route.Distance()) > 25) { launchRouteBtn.Enabled = true; map.DrawRoutes(routes); BoundCameraToRoute(); } else { Snackbar.Make(mapView, Resource.String.error_select_longer_route, Snackbar.LengthShort).Show(); } })); loading.Visibility = ViewStates.Visible; }
public void OnResponse(ICall call, Response response) { if (ValidRouteResponse(response)) { HideLoading(); var directions = Android.Runtime.Extensions.JavaCast <DirectionsResponse>(response.Body()); route = directions.Routes()[0]; var distance = route.Distance(); if (distance.CompareTo(new Java.Lang.Double(25)) > 0) { launchRouteBtn.Enabled = (true); mapRoute.AddRoutes(directions.Routes()); BoundCameraToRoute(); } else { Snackbar.Make(mapView, "Please select a longer route", BaseTransientBottomBar.LengthShort).Show(); } } }