Estou trabalhando com a Biblioteca JavaScript do Leaflet e anexei um mapa (ativo) ao meu documento HTML. Está no meio da página e, quando estou rolando para baixo com a roda do mouse e chego ao mapa, ele automaticamente amplia o zoom no mapa.
Quero rolar a página sem parar no mapa. Existe uma maneira de ativar o zoom da roda somente após o primeiro clique no mapa?
javascript
leaflet
zoom
mouse-wheel
Jandroide
fonte
fonte
Mais um comentário / melhoria no componente de alternância da resposta aceita , o que é ótimo (obrigado). Mas.
Ao interagir com um mapa, para muitos casos de uso, o usuário também precisa clicar no mapa para executar sua tarefa, portanto:
Pode resultar em algum comportamento inesperado quando o usuário começar a usar o mapa.
Eu sugeriria algo que possa parecer um pouco mais intuitivo para o usuário - clique fora do mapa para desativar a rolagem do mouse .
Por exemplo, defina seu
scrollWheelZoom: false
como acima, então:fonte
focus
/blur
definitivamente torna a funcionalidade do mapa muito mais intuitiva.O Leaflet.Sleep facilita o seu trabalho e é bastante configurável
Basicamente, desativa os eventos de rolagem quando eles não são necessários e "acorda" seu mapa quando eles são necessários.
Eu postaria o código, mas os padrões parecem acertar, então você provavelmente não precisará de nada além
<script src="path/to/leaflet-sleep.js"></script>
e terá um mapa como este .fonte
Você pode fazer isso apenas pelas três linhas:
ou:
fonte