private async void OnBtnPesquisarClicked(object sender, EventArgs e) { if (String.IsNullOrEmpty(EntryCep.Text)) { await DisplayAlert("Erro", "O campo do cep deve ser preenchido", "Ok"); return; } Geocoder geocoder = new Geocoder(); var localizacoes = await geocoder.GetPositionsForAddressAsync(EntryCep.Text); if (localizacoes.Any()) { var enderecos = await geocoder.GetAddressesForPositionAsync(new Position(localizacoes.FirstOrDefault().Latitude, localizacoes.FirstOrDefault().Longitude)); var endereco = enderecos.FirstOrDefault(); EnderecoCompleto = endereco; LabelEndereco.Text = endereco.Substring(0, endereco.IndexOf('-')); MapLocalizacao.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(localizacoes.FirstOrDefault().Latitude, localizacoes.FirstOrDefault().Longitude), Distance.FromKilometers(1))); MapLocalizacao.Pins.RemoveAt(0); var pinCarro = new Pin() { Position = new Position(localizacoes.FirstOrDefault().Latitude, localizacoes.FirstOrDefault().Longitude), Label = "Seu carro" }; MapLocalizacao.Pins.Add(pinCarro); } }
protected override async void OnAppearing() { var locator = CrossGeolocator.Current; Geocoder geocoder = new Geocoder(); var posUsuario = await locator.GetPositionAsync(timeoutMilliseconds : 20000); var enderecos = await geocoder.GetAddressesForPositionAsync(new Position(posUsuario.Latitude, posUsuario.Longitude)); var endereco = enderecos.FirstOrDefault(); EnderecoCompleto = endereco; LabelEndereco.Text = endereco.Substring(0, endereco.IndexOf('-')); MapLocalizacao.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(posUsuario.Latitude, posUsuario.Longitude), Distance.FromKilometers(1))); MapLocalizacao.Pins.Add(new Pin() { Position = new Position(posUsuario.Latitude, posUsuario.Longitude), Label = "Seu carro" }); LabelDuracao.Text = "Duração: " + LavagemSingleton.TempoTotalDeDuracaoEmHoras + ":00 hora(s)"; }