protected override async void OnAppearing() { try { base.OnAppearing(); var currentPosition = await GeolocatorHelper.GetCurrentPositionAsync(); _pageModel.LoadPinsCommand.Execute(currentPosition); foreach (var item in _pageModel.Pins) { Companies.Pins.Add(item); } Companies.MoveToRegion(MapSpan.FromCenterAndRadius( new Position(currentPosition.Latitude, currentPosition.Longitude), Distance.FromKilometers(2))); } catch (TaskCanceledException ex) { _pageModel.ExceptionService.TrackError(ex); await _pageModel.MessageService.ShowAsync("Informação", "A requisição está demorando muito, verifique sua conexão com a internet."); } catch (Exception ex) { _pageModel.ExceptionService.TrackError(ex); await _pageModel.MessageService.ShowAsync(ex); } finally { _pageModel.IsLoading = false; _pageModel.IsPresented = false; } }
public static async Task <City> SetActualCity() { try { var position = await GeolocatorHelper.GetCurrentPositionAsync(); var cityService = new CityRest(); var cityName = await cityService.GetCityNameAsync(position.Latitude, position.Longitude); cityName = string.IsNullOrWhiteSpace(cityName) ? DefaultSetting.City.Name : cityName; var result = await cityService.GetCityAsync(cityName.Trim()); var city = result.Value ?? DefaultSetting.City; ApplicationManager <City> .AddOrUpdate("city", city); return(city); } catch (Exception ex) { var exception = DependencyService.Get <IExceptionService>(); exception.TrackError(ex, "SetActualCity"); return(DefaultSetting.City); } }
public static async Task <City> SetActualCity() { var position = await GeolocatorHelper.GetCurrentPositionAsync(); var cityService = new CityService(); var cityName = await cityService.GetCityName(position.Latitude, position.Longitude); cityName = string.IsNullOrWhiteSpace(cityName) ? DefaultSetting.City.Name : cityName; var cities = await cityService.GetByNameAsync(cityName.Trim()); var city = cities ?? DefaultSetting.City; ApplicationManager <City> .AddOrUpdate("city", city); return(city); }