Utilizando o GPS – Xamarin.Forms

Olá, neste post irei demonstrar como a sua aplicação Xamarin.Forms pode pegar a localização (Latitude x Longitude) do dispositivo utilizando o GPS.

Para este exemplo irei assumir que você acabou de criar uma aplicação Xamarin.Forms, caso possua alguma dúvida sobre isso recomendo ler o post  Criando um projeto Xamarin.Forms.

O primeiro passo após a sua aplicação ter sido criada é adicionar o Nuget Package Xam.Plugin.Geolocator.

Adicionando o NuGet Package

Clique com o botão direito em cima de sua Solution e selecione “Manage NuGet Packages for Solution…”.

1 - nuget

Digite “Xam.Plugin.GeoLocator” e selecione o plugin como demonstrado na imagem a seguir.

2 - nuget

Selecione todos os projetos e clique no botão “Install”.

2 - nuget

Após a instalação do plugin, o próximo passo é colocar os elementos visuais para demonstrar a localização do dispositivo. E também colocar um botão para pegar/atualizar a localização. É possível observar no exemplo a seguir o código do xaml possuindo algumas labels e um botão.

XAML

O evento click do botão irá chamar o método “GetPosition” que irá de fato pegar a localização do dispositivo. Esse método foi criado no Code-Behind para fins de demonstração.

Code-Behind

Permissões

Para o seu App poder acessar o GPS do dispositivo, é necessário configurar as permissões de acordo com cada plataforma.

Android

Para configurar as permissões de sua aplicação android, é necessário alterar o Android Manifest selecionando as seguintes permissões: ” ACCESS_COARSE_LOCATION” e “ACCESS_FINE_LOCATION”, como demonstrado a seguir.

Clique com o botão direito no projeto android e selecione “Properties”.

access_android1.1

Clique em “Android Manifest”.

access_android1.2

Selecione “ACCESS_COARSE_LOCATION” e “ACCESS_FINE_LOCATION”.

access_android

iOS

Para configurar as permissões de sua aplicação iOS, é necessário editar o arquivo Info.plist do seu projeto iOS.

Clique com o botão direito em cima do arquivo Info.plist.

access_ios1.1

Adicione o seguinte trecho de código no final do arquivo, dentro de “dict” como demonstrado a seguir.

Info.plist

Resultado

Android

Android

iOS

iOS

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

2 comentários em “Utilizando o GPS – Xamarin.Forms

  1. Olá Juliano, primeiramente parabéns pelo post… sucinto e direto ao ponto. Seria possível iimplementar algo com o Task.wait, para pegar as coordenadas num espaço de tempo e salvando no banco… Como faria para rodar em background?

    Curtir

    1. Olá Jean,
      Obrigado, a ideia é exatamente essa, post sucinto e direto.

      Bom.. é possível, só tome um pouco de cuidado com a frequência dessa sua Task para que não consuma muitos recursos do dispositivo.

      Segue um link te auxiliando como rodar em background. ( https://xamarinhelp.com/xamarin-background-tasks/ )

      Basicamente você ira criar uma Task para ser executada em um determinado período como demonstrado no link a acima. E chamará o método GetPosition, só que ao invés de atualizar o valor da label você irá persistir os dados no banco.

      Espero ter ajudado.

      Curtido por 1 pessoa

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s