No meu site , estou usando a API do Google Maps v3 para colocar marcadores de casas no mapa.
As InfoWindows permanecem abertas, a menos que você clique explicitamente no ícone Fechar. Ou seja, você pode ter 2+ InfoWindows abertos ao mesmo tempo se passar o mouse sobre o marcador do mapa.
Pergunta : Como faço para que apenas a InfoWindow ativa atual seja aberta e todas as outras InfoWindows sejam fechadas? Ou seja, não mais do que 1 InfoWindow será aberta por vez?
Respostas:
Existe uma função close () para InfoWindows. Apenas acompanhe a última janela aberta e chame a função de fechamento quando uma nova janela for criada.
Esta demonstração tem a funcionalidade que você procura. Eu o encontrei na galeria de demonstração da API do Google Maps V3 .
fonte
solução alternativa para isso usando várias janelas de informação: salve a janela de informações anterior aberta em uma variável e feche-a quando uma nova janela for aberta
fonte
Isso "moverá" a janela de informações ao redor de cada marcador clicado, fechando-se de fato e reabrindo (e girando para caber na janela de visualização) em seu novo local. Ele muda seu conteúdo antes de abrir para dar o efeito desejado. Funciona para n marcadores.
fonte
Minha solução.
fonte
Deste link http://www.svennerberg.com/2009/09/google-maps-api-3-infowindows/ :
fonte
fonte
Existe uma maneira mais fácil além de usar a função close (). se você criar uma variável com a propriedade InfoWindow, ela fecha automaticamente quando você abre outra.
fonte
fonte
E se -
Em seguida, você pode simplesmente passar o mouse sobre ele e ele se fechará.
fonte
Eu armazenei uma variável no topo para manter o controle de qual janela de informações está aberta no momento, veja abaixo.
fonte
Aqui está o que eu usei se você estiver usando muitos marcadores em um loop for (Django aqui). Você pode definir um índice em cada marcador e definir esse índice sempre que abrir uma janela. Fechando o índice salvo anteriormente:
fonte
fonte