Devs

[Desenvolvimento] Como obter sua posição geográfica via C#

Olá pessoal, tudo bom?

Segue mais uma dica para quem está aprendendo a desenvolver APPs para Windows Phone. Dessa vez, o assunto é geo posicionamento.

Em C# há duas classes que são a base para resolver a situação. São elas: Geolocator e Geoposition. A classe Geolocator é responsável por provisionar acesso a sua posição geográfica atual, já classe Geoposition representa sua posição em relação a latitude e longitude.

Para testar, temos abaixo uma situação simples, onde o sujeito toca em um botão na APP e ela retorna a latitude e longitude atual.

geolocator-wp-exemplo
Abaixo o trecho de código XAML da interface


  

No código C# da classe associada à página de teste, temos as seguintes demandas:

1) Adição do namespace Windows.Devices.Geolocation…

using Windows.Devices.Geolocation;

2) O método abaixo trata o toque no botão “Obter Longitude e Latitude”

private async void btnObterLocalizacao_Click(object sender, RoutedEventArgs e)
{
  Geolocator geo = new Geolocator();
  if (geo.LocationStatus != PositionStatus.Disabled)
  {
    Geoposition pos = await geo.GetGeopositionAsync();
    txtLatitude.Text = pos.Coordinate.Latitude.ToString();
    txtLongitude.Text = pos.Coordinate.Longitude.ToString();
  }
  else
    MessageBox.Show("Não há suporte para geoposicionamento...");
}

3) Agora você precisa adicionar as capacidades de mapa e localização ao projeto. Para isso edite o arquivo WMAppManifest.xml conforme indicado na imagem abaixo:

wp-capacidades-emulador

Fica a dica.

Grande abraço,

Eduardo Henrique Rizo (@eduardorizo)

MCP

Post Relacionado: 

Fonte: Blog do Eduardo H. Rizo