Olá pessoas, tudo bem?
Esses dias estava montando aquela app para estudo e fui utilizar o package geolocator e achei legal dar um exemplo aqui pra vocês.
Nessa abordagem precisei de um “step” a+, pois precisa transformar a latitude e longitude recuperadas do geolocator em Rua, Bairro, Cidade e logo acabei usando também o package geocoding então bora lá pra mais um exemplo rápido e prático ok.
Porém contudo todavia lembrem-se que para usar serviços de geolocalização é preciso ajustar no AndroidManifest e no Runner (penso que já sabe onde estou me referindo ok).
No android adicione:

Já para IOS vou deixar a DOC oficial pois nesse caso não foi implementada.
Link: https://pub.dev/packages/geolocator
Basicamente vou postar o código a seguir e explicar o mesmo:

Checar Permissão: Ele chama uma função checkPermission() para verificar se o app tem permissão para acessar a localização do usuário.
- Se a permissão for concedida, ele segue para o próximo passo.
- Se a permissão não for concedida, ele devolve a mensagem “Permission not granted”.
Obter Localização: Caso a permissão esteja OK, ele usa o Geolocator.getCurrentPosition() para obter a posição atual do usuário (latitude e longitude), com alta precisão.
Converter para Endereço: Com a latitude e longitude, ele usa placemarkFromCoordinates() para tentar traduzir isso para um endereço legível (nome da rua, cidade, etc.). O resultado é uma lista de possíveis lugares (Placemark), e ele usa o primeiro item da lista.
Obs.: Placemark trás todos os valores referentes ao local, então sempre é prudente identificar se é necessário apresentar todos os dados (nesse exemplo não era)!
Formatar e Retornar: Finalmente, ele retorna o endereço no formato:
- Rua, Bairro, Região/Estado.
E claro pessoal vocês também podem e recomendo que criem validação caso o usuário negue a permissão de acesso!
Tomando uma ação específica caso o acesso seja negado, um exemplo informar o usuário que não é possível usar o serviço sem tal acesso…
No exemplo deixei apenas o “if”, pois haviam algumas informações não pertinentes ao nosso foco aqui 🙂

Dessa forma você garante que o seu usuário terá que dar a permissão antes, conseguindo tratar casos de negativa e evitar erros desnecessários.
E por hoje é basicamente isso meus amigos, espero que possa ter ajudado e sigamos em frente…
No responses yet