Como fazer com que os marcadores na API do Google Maps para Android v2 se tornem clicáveis, para abrir um menu com opções ou apenas iniciar uma nova atividade? Acredito que fiz os marcadores no meu aplicativo atualmente em um método "newb". Não atribuai a eles um nome ou um método para poder vinculá-lo ao restante do código necessário.
googleMap.addMarker(new MarkerOptions()
.position(latLng)
.title("My Spot")
.snippet("This is my spot!")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
Se você responder isso, inclua um código de exemplo de um marcador que está sendo introduzido com um nome exclusivo e, em seguida, definido como clicável para abrir uma nova atividade.
OnInfoWindowClickListenerCallback
. Existe um método em GoogleMap para isso:googleMap.setOnInfoWindowClickListener(listener);
setTag(position)
ao adicionar marcador ao mapa.getTag()
nosetOnMarkerClickListener
ouvintefonte
Evite usar o OnMarkerClickListener dos implementos Activity, use um OnMarkerClickListener local
Você precisará de um mapa para procurar o modelo de dados original vinculado ao marcador
Você precisará de um modelo de dados
Coloque alguns dados no modelo de dados
Ao criar um novo marcador usando um modelo de dados, adicione ambos ao mapa do criador
Para um evento de marcador de clique, use um OnMarkerClickListener local:
Para exibir a janela de informações, recupere o modelo de dados original do mapa do marcador:
fonte
Outra solução: você recebe o marcador pelo título
fonte
Aqui está meu código inteiro de uma atividade de mapa com 4 marcadores clicáveis. Clicar em um marcador mostra uma janela de informações e, depois de clicar na janela de informações, você vai para outra atividade: inglês, alemão, espanhol ou italiano. Se você deseja usar o OnMarkerClickListener, apesar do OnInfoWindowClickListener, basta trocar esta linha:
para isso:
está linha:
para isso:
e no final do método "onMarkerClick":
Eu acho que pode ser útil para alguém;)
fonte
fonte
Eu adicionei um
mMap.setOnMarkerClickListener(this);
noonMapReady(GoogleMap googleMap)
método Portanto, toda vez que você clica em um marcador, ele exibe o nome do texto no método brinde.}
Você pode verificar este link para obter marcadores de referência
fonte
Eu editei o exemplo acima ...
fonte