/// <summary> /// Handles the Geolocator.StatusChanged event to refresh the map and locations list /// if the Geolocator is available, and to display an error message otherwise. /// </summary> private async void Geolocator_StatusChanged(Geolocator sender, StatusChangedEventArgs args) { await GeneralHelpers.CallOnUiThreadAsync(async() => { switch (args.Status) { case PositionStatus.Ready: UpdateLocationStatus(true); await ResetViewAsync(); break; case PositionStatus.Initializing: break; case PositionStatus.NoData: case PositionStatus.Disabled: case PositionStatus.NotInitialized: case PositionStatus.NotAvailable: default: UpdateLocationStatus(false); await ResetViewAsync(false); break; } }); }