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

4 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

  2. Olá Juliano,
    Indo direto ao ponto…

    É possível construir um App de GPS em Xamarin do tipo Waze, utilizando os mapas do google? pois gostaria de navegar em cima de uma mapa do google estilizado através de camadas KML…
    Por favor, me dê o caminho das pedras…
    abs

    Curtir

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 )

Foto do Google+

Você está comentando utilizando sua conta Google+. 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 )

Conectando a %s