public async Task StartNavigation()
        {
            //Set navigation mode to true
            isNavigating = true;

            // Manage UI
            AcceptNavigation.Visibility = Visibility.Hidden;
            AcceptNavigation.IsEnabled  = false;
            RefuseNavigation.Visibility = Visibility.Hidden;
            RefuseNavigation.IsEnabled  = false;
            CancelNavigation.Visibility = Visibility.Visible;
            CancelNavigation.IsEnabled  = true;
            TripRequestTB.Visibility    = Visibility.Hidden;

            // Get the directions for the route.
            _directionsList = _route.DirectionManeuvers;

            // Create route tracker
            _tracker = new RouteTracker(_routeResult, 0);

            // Handle route tracking status changes
            _tracker.TrackingStatusChanged += TrackingStatusUpdated;

            // Check if this route task supports rerouting
            if (_solveRouteTask.RouteTaskInfo.SupportsRerouting)
            {
                // Enable automatic re-routing
                await _tracker.EnableReroutingAsync(_solveRouteTask, _routeParameters, ReroutingStrategy.ToNextWaypoint, false);

                // Handle re-routing completion to display updated route graphic and report new status
                _tracker.RerouteStarted   += RerouteStarted;
                _tracker.RerouteCompleted += RerouteCompleted;
            }

            // Turn on navigation mode for the map view
            MapView.LocationDisplay.AutoPanMode = LocationDisplayAutoPanMode.Navigation;

            // Add a data source for the location display
            // Use Fake-Location
            //Fake Rerouting.
            //if (i == 0)
            //{
            //    _fakeroute = _route;
            //    fakeLocationProvider = new FakeLocationProvider(this, _route.RouteGeometry);
            //}
            //else if (i == 1)
            //{
            //    fakeLocationProvider = new FakeLocationProvider(this, _fakeroute.RouteGeometry);
            //}
            //i++;

            fakeLocationProvider = new FakeLocationProvider(this, _route.RouteGeometry);
            MapView.LocationDisplay.DataSource = new RouteTrackerDisplayLocationDataSource(fakeLocationProvider, _tracker);

            // Use Real-location
            //MapView.LocationDisplay.DataSource = new RouteTrackerDisplayLocationDataSource(new SystemLocationDataSource(), _tracker);

            // Enable location display (this will start the location data source).
            MapView.LocationDisplay.IsEnabled = true;
        }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LocatableStationServiceTests"/> class.
        /// </summary>
        public LocatableStationServiceTests()
        {
            var fakeLocation = new FakeLocationProvider();

            this.locatableStationService = new LocatableStationService(
                fakeLocation,
                new TransportationQueryService());
        }