public override void OnDisappearing()
        {
            base.OnDisappearing();

            locationManager.RemoveLocationListener(this);

            if (DetailsRoute.IsRouteFinished())
            {
                DetailsRoute.ResetRoute();
            }
            nearbyExhibitManager.ExhibitVisitedEvent -= ExhibitVisited;
        }
        /// <summary>
        /// Starts navigation for the route.
        /// </summary>
        private async void StartRoute()
        {
            if (DetailsRoute.IsRouteStarted())
            {
                string result =
                    await
                    Navigation.DisplayActionSheet(
                        Strings.RouteDetailspageViewModel_RouteStarted,
                        Strings.RouteDetailspageViewModel_Back, null, Strings.RouteDetailspageViewModel_ContinueRoute, Strings.RouteDetailspageViewModel_RestartRoute);

                if (result.Equals(Strings.RouteDetailspageViewModel_RestartRoute))
                {
                    DetailsRoute.ResetRoute();
                }
                else if (result.Equals(Strings.RouteDetailspageViewModel_Back))
                {
                    return;
                }
            }
            await Navigation.PushAsync(new NavigationPageViewModel (DetailsRoute));
        }