Markers e Listeners no Google Maps Android

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes! Você receberá um email de confirmação. Somente depois de confirma-lo é que eu poderei lhe enviar os conteúdos semanais exclusivos. Os artigos em PDF são entregues somente para os inscritos na lista.

Email inválido.
Blog /Android /Markers e Listeners no Google Maps Android

Markers e Listeners no Google Maps Android

Vinícius Thiengo
(9043) (12)
Go-ahead
"O método consciente de tentativa e erro é mais bem-sucedido que o planejamento de um gênio isolado."
Peter Skillman
Prototipagem Android
Capa do curso Prototipagem Profissional de Aplicativos
TítuloAndroid: Prototipagem Profissional de Aplicativos
CategoriasAndroid, Design, Protótipo
AutorVinícius Thiengo
Vídeo aulas186
Tempo15 horas
ExercíciosSim
CertificadoSim
Acessar Curso
Quer aprender a programar para Android? Acesse abaixo o curso gratuito no Blog.
Lendo
TítuloManual de DevOps: como obter agilidade, confiabilidade e segurança em organizações tecnológicas
CategoriaEngenharia de Software
Autor(es)Gene Kim, Jez Humble, John Willis, Patrick Debois
EditoraAlta Books
Edição
Ano2018
Páginas464
Conteúdo Exclusivo
Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba gratuitamente conteúdos Android sem precedentes!
Email inválido

Opa! Blz?

Nesse vídeo dou continuidade a série de vídeos sobre o Google Maps V2 no Android, dessa vez mostrando como trabalhar com Markers e Listeners na classe GoogleMap. Os listeners apenas coloquei quatro dos que acredito serem os mais utilizados no Google Maps, porém mostro pela página da classe todos os listeners existentes (o link da página está no final). Quanto aos marcadores, fique atento quanto a criação do Marker, pois ele somente é obtido quando passado o MarkerOptions como parâmetro de entrada no método addMarker() do objeto GoogleMap. No momento de colocar um icon personalizado no lugar do icon "pin" padrão do Marker no Google Maps utilizei o método fromResource() da classe BitmapDescriptorFactory, porém como apresentado no vídeo você pode utilizar as imagens de outros fonrcedores de recurso, como um File, por exemplo. Quanto a personalização da InfoWindow do Marker, é só entender a função dos métodos getInfoContents() e getInfoWindow() e que eles não traballham em conjunto que ficará fácil personalizar suas próprias InfoWindows. Então é isso, sem mais delongas vou deixar você assistir ao vídeo.

O link para download do projeto se encontra logo abaixo no post.

Segue link das páginas apresentadas em vídeo:

Página da classe MarkerOptions no site oficial de desenvolvedores Android

Página da classe Marker no site oficial de desenvolvedores Android

Página da classe GoogleMap referenciando seus listeners no site oficial de desenvolvedores Android

Se você ainda não viu os dois vídeos anteriores da série sobre o GoogleMaps V2 no Android, segue os links deles:

Google Maps V2 no Android, Inicio e Configuração

GoogleMap e CameraPosition no Android, Entendendo e Utilizando

Vlw.

Investir em Você é Barra de Ouro a R$ 2,00. Cadastre-se e receba grátis conteúdos Android sem precedentes!
Email inválido

Relacionado

Navigator Drawer na ActionBar Android, Entendendo e UtilizandoNavigator Drawer na ActionBar Android, Entendendo e UtilizandoAndroid
Parser RSS / Atom com a lib Rome no AndroidParser RSS / Atom com a lib Rome no AndroidAndroid
Google Maps V2 no Android, Inicio e ConfiguraçãoGoogle Maps V2 no Android, Inicio e ConfiguraçãoAndroid
GoogleMap e CameraPosition no Android, Entendendo e UtilizandoGoogleMap e CameraPosition no Android, Entendendo e UtilizandoAndroid

Compartilhar

Comentários Facebook

Comentários Blog (12)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Breno Alves (1) (0)
07/04/2017
Parabéns pelo material apresentado e pela clareza nas explicações!
Gostaria de saber uma maneira de formatar o title e o snippet, como por exemplo: centralizar, quebrar linha no snippet.
Responder
Vinícius Thiengo (0) (0)
08/04/2017
Breno, tudo bem?

Formatação nesse nível no marker, provavelmente você consegue se trabalhar com uma SpannableString.

Veja o artigo e vídeo do link a seguir. São atuais e neles explico como utilizar uma Spannable para conseguir formatações onde, a princípio, não seria possível.

Segue link: http://www.thiengo.com.br/como-utilizar-spannable-no-android-para-customizar-strings

Abraço.
Responder
cleidson (1) (0)
29/09/2015
Olá Vinícius.
Primeiramente gostaria de lhe parabenizar pelos vídeos criados.
Estou com uma dúvida sobre o Marker, na verdade não tenho certeza se seria realmente o Marker, bom vamos ver:
Gostaria de saber se existe a possibilidade de utilizar os pontos de parada de ônibus que já vem no mapa da API?
Se posso alterar o ícone;
Obter as suas localizações (pode ser ao clicar);
Disparar um evento quando um usuário clicar no ícone.

Resumindo existe a possibilidade de interagir com esses pontos ou não é possível?
Atenciosamente,
Cleidson
Responder
Vinícius Thiengo (0) (0)
30/09/2015
Fala Cleidson, blz?
É possível sim interagir com o Marker, no caso utilizando seus listener (o vídeo acima cobre isso). Quanto aos pontos de parada, o Maps funciona da seguinte maneira: vc terá de requisitar esses pontos da base do Google ou de sua base, logo vc terá de plotá-los na maps, utilizando os icons padrões retornados pela requisição ao Google, ou trocar (mesmo quando vindas as coordenadas do Google) e utilizar seus próprios icons personalizados, a ideia que tem de ter é que as coordenadas serão trabalhadas de forma independente do Maps. Abraço
Responder
Cleidson (1) (0)
30/09/2015
Como faço pra requisitar esses pontos ao google? E pra mudar o ícone padrão do google? Você tem algum material a respeito disso?
Responder
Vinícius Thiengo (0) (0)
03/10/2015
Cleidson, blz?
Essa questão dos pontos de parada de onibus eu acabei assumindo que existe nativo no Google Maps baseado em seu comentário, no caso encontrei essa resposta no StatckOverflow (http://stackoverflow.com/a/12481253/2578331 ) onde aponta para um código exemplo no GitHub e para o blog post (http://ddewaele.blogspot.in/2011/05/introducing-google-places-api.html ) que permite essas requisições. Note que não importa os icons utilizados por padrão, as coordenadas vão ser entregues, com o vídeo acima vc saberá como colocar markers personalizados, não precisará alterar nada dos icons enviados junto as coordendas (se algum for fornecido junto as coordenadas), apenas colocar os seus personalizados. Abraço
Responder
victor (2) (0)
26/05/2015
Olá Vinícius. Primeiramente gostaria de lhe parabenizar pelos vídeos criados.
Cara, tenho um app em desenvolvimento que chamará um web service toda vez que a sua posição mudar 50 metros e receberá um json com várias coordenadas.
Com estas coordenadas, eu preciso abrir o maps e colocar os marcadores na tela. Isso terá que estar sempre mudando, a medida que a localização vá mudando a cada 50 metros.
Tenho uns conhecidos que estão dizendo que vou precisar colocar este consumo em um service (para rodar mesmo com o app fechado) e ir consumindo o Web Service.
Mas acho que só com o LocationListener já conseguiria fazer rodar direitinho, pois se o App está fechado eu não preciso pegar estas coordenadas.
Pode me dar uma dica de qual a melhor forma?
Um abraço.
Responder
Vinícius Thiengo (1) (0)
27/05/2015
Fala Victor, blz?
A sua escolha é a melhor, o Service rodando mesmo com o APP fechado é somente se sua APP precisar dessa feature, mas pelo caso a sua não precisa se estiver fechada. O ruim do Service tb é o consumo que ele vai colocar na bateria, pois dependendo da frequência que ele é chamado isso afeta bastante no consumo dela devido a ter chamadas ao server Web tb. O LocationListener lhe permite setar uma nova chamada por meio de tempo e / ou espaço. Utilize somente o espaço (50m) e com um Volley rodando para obter as coordenadas de seu Server vc terá sua APP. Digo Volley, pois é o recomendado pelo Google, mas qualquer outra forma de conexão é válida. Abraço
Responder
Victor (1) (0)
27/05/2015
Olá Vinícius.
Muito obrigado pelo retorno.
Um detalhe que acabei esquecendo de colocar (estava muito tarde e cabeça não funcionava mais) é que vou precisar em certo momento (dependendo do retorno do Web Service) colocar uma mensagem de confirmação na tela para o usuário e se ele aceitar, vou ter que ativar a navegação do Google Maps do local em que eu estou até o local que o Web Service me passou.
Continuo com esta ideia do LocationListener ou neste caso é melhor pensar no Service?
Um abraço.
Responder
Vinícius Thiengo (1) (0)
27/05/2015
Isso, o Service é somente se vc for executar algo demorado no background ou se for precisar de execução mesmo com o APP fechado (e alguns outros casos menos comuns). Porém somente o LocationListener não atenderia mais as suas necessidades, terá de trabalhar outras entidades de maps no Android, para poder traçar essa rota. Nos vídeos de maps do Blog tem isso tb. Abraço
Responder
25/03/2015
Olá Thiengo muito boa sua aula me ajudou muito a conseguir trabalhar com o Maps. Sou iniciante no Android e estou tendo problemas na hora de abrir o mapa com os marcadores no meu App. tenho um menu principal e quando vou chamar a classe do mapa ele mostra que são incompativeis uma é Fregment v4 e outra FragmentActivity. poderia me dar uma luz de como resolver isso?
Responder
Vinícius Thiengo (0) (0)
25/03/2015
Fala Yago, blz?
O Fragment da support-v4 é uma entidade que não tem relação com o FragmentActivity que é outra entidade, basicamente é: FragmentActivity é uma Activity e fragment da v4 é um fragment, são entidades que nem cast funciona, pois não tem ligação hierárquica ... somente a classe Object, mas ai no caso não seria uma boa realizar esse tipo de conversão. Coloque esse script seu aqui para vasculharmos o que há. Abraço
Responder