Olá, meu nome é Matheus, sou instrutor da Alura e vou te acompanhar durante este curso de geolocalização e mapas.
Audiodescrição: Matheus Alberto se descreve como um homem branco. Tem olhos castanhos e cabelos curtos lisos de cor castanho escuro. Usa óculos de armação preta e camiseta preta. Ao fundo, estúdio com iluminação arroxeada. À direita, estante com decorações.
Vamos desenvolver um aplicativo para uma empresa que trabalha com distribuição de produtos. Este aplicativo terá duas telas: uma tela onde pediremos a permissão de usuário para acessar a localização do dispositivo e outra tela onde exibiremos um mapa.
Este mapa deve possuir algumas funcionalidades:
Assim, a pessoa que estiver utilizando o aplicativo para realizar entregas, por exemplo, pode segurar um ponto no mapa para marcar um novo ponto e atribuir uma identificação a ele.
Para acompanhar este curso, é importante que você já tenha conhecimento de Flutter, saiba construir widgets e tenha noção de como criar componentes personalizados.
Também é necessário ter todo o ambiente Google configurado, pois precisaremos trabalhar com chave de API nas aplicações da Google. Se você ainda não criou uma conta Google, não gerou uma chave de acesso e não configurou as permissões de serviços, é importante pausar o vídeo e retornar à atividade de "Preparando o Ambiente" para que possamos trabalhar a seguir.
Para conferir como trabalharemos dentro do nosso serviço da Google, vamos mostrar a tela do Google Cloud. Temos dois serviços importantes: o Maps JavaScript API, que precisa estar ativo, e o Maps SDK for Android, que também precisa estar ativo, com as devidas chaves criadas.
Voltando ao nosso aplicativo, na tela de mapa, temos apenas um widget chamado Map. Para inserir o mapa, utilizamos o plugin Google Maps Flutter. No navegador, acessamos a página do Pub.dev com o pacote Google Maps Flutter. Agora, no VSCode, instalamos esse pacote. Abrimos o terminal, aumentamos o zoom para melhor visualização e digitamos flutter pub add google_maps_flutter. Após a instalação do pacote, adicionamos a dependência.
Ainda não estamos prontos para usar. Vamos consultar a documentação rapidamente. No Pub.dev, há informações sobre como começar. A primeira seção destaca a importância de ter o Google Maps SDK da plataforma já ativo. Descendo um pouco mais, encontramos a seção "specify your API key in the application manifest", que orienta sobre como inserir a chave de acesso no aplicativo.
Como estamos trabalhando com Android, utilizamos o exemplo de código fornecido para modificar o arquivo AndroidManifest.xml. O exemplo indica onde inserir a tag metadata dentro do arquivo, especificamente após a tag application. Copiamos as linhas necessárias e, no VSCode, abrimos o arquivo AndroidManifest.xml na pasta "Android", "app", "src", "main". Após a linha de fechamento da tag application, colamos a tag metadata e substituímos yourkeyhere pela nossa chave de API obtida no Google Cloud.
Para rodar o mapa, voltamos à documentação do pacote Google Maps. Descendo, encontramos um exemplo de código importante, especialmente o que está dentro do Scaffold, que mostra como usar o widget Google Maps. O exemplo requer um InitialCameraPosition, que precisa de um CameraPosition com um target do tipo LatLng (Latitude e Longitude).
No emulador, ao compartilhar a localização, o mapa carrega na posição definida. Para centralizar na localização atual, precisamos de permissões de localização. Utilizamos o plugin Geolocator para obter a localização do dispositivo. Antes de instalar, verificamos a documentação para entender as permissões necessárias: ACCESS_FINE_LOCATION e ACCESS_COARSE_LOCATION.
Após o Android 12, existem dois tipos de permissão: a permissão que existe quando instalamos um aplicativo, que precisa estar preparada para o dispositivo, e a permissão em tempo de execução (Runtime), que é quando o aplicativo está aberto e funcionando. Precisamos pedir permissão duas vezes: uma no Android Manifest e outra manualmente no código, solicitando à pessoa usuária para usar as informações do dispositivo.
No exemplo de código, há uma solicitação de permissão de localização. O próprio pacote tem isso, mas não recomendamos usar permissões embutidas em pacotes específicos. É importante trabalhar com o Permission Handler, que gerencia permissões e é atualizado conforme as especificações da Google e Apple. Vamos instalar o pacote permission_handler no VSCode, abrir o terminal e executar flutter pub add permission_handler. Após a instalação, voltamos ao navegador e verificamos como usar o pacote.
No emulador, ao clicar no botão de localização, deve aparecer um popup pedindo permissão para usar a localização. Podemos permitir a localização exata ou aproximada, e escolher se queremos usar a permissão durante o uso do app ou apenas uma vez. Por questões didáticas, é interessante permitir apenas uma vez para evitar reinstalações.
Para adicionar marcadores no mapa, usamos a propriedade markers do widget GoogleMap, que recebe um Set de Marker. Criamos marcadores para a Alura e a FIAP, com markerId, position e infoWindow com title e snippet.
Com essas funcionalidades, podemos marcar clientes, sedes ou locais de entrega no mapa. Incentivamos a experimentação e personalização do aplicativo, explorando as documentações dos pacotes para criar versões que atendam às necessidades específicas.
Esperamos que tenham gostado do curso sobre recursos nativos, geolocalização e mapas. Nos vemos em um próximo momento. Até breve!
O curso Flutter: geolocalização e Google Maps possui 111 minutos de vídeos, em um total de 9 atividades. Gostou? Conheça nossos outros cursos de Flutter em Mobile, ou leia nossos artigos de Mobile.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Programação, Data Science, Front-end, DevOps, Mobile, Inovação & Gestão, UX & Design, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.