public async Task ViewMapAsync() { if (IsBusy) { return; } try { Position position = await GeoLocator.GetPositionAsync((int)TimeSpan.FromSeconds(8).TotalMilliseconds); await NavigateTo(new MapPage(position.Latitude, position.Longitude)); } catch (Exception ex) { await UserDialogs.Instance.AlertAsync(ex.Message, "Error", "OK"); } finally { IsBusy = false; } }
public async Task GetUserLocationAsync() { if (IsBusy) { return; } if (!GeoLocator.IsGeolocationEnabled) { await Application.Current.MainPage.DisplayAlert("Error Localizacion", "Es necesario activar el GPS", "Ok"); IsBusy = false; return; } try { UserDialogs.Instance.ShowLoading("Obteniendo Ubicacion..."); Position position = await GeoLocator.GetPositionAsync((int)TimeSpan.FromSeconds(8).TotalMilliseconds); UserDialogs.Instance.HideLoading(); if (position == null) { await Application.Current.MainPage.DisplayAlert("Error Localizacion", "No se pudo obtener tu ubicacion.", "Ok"); IsBusy = false; return; } LatLong = position.Latitude.ToString() + "," + position.Longitude.ToString(); } catch (Exception ex) { await UserDialogs.Instance.AlertAsync(ex.Message, "Error", "OK"); } finally { IsBusy = false; } }