Я работаю с библиотекой JavaScript Leaflet и прикрепил (рабочую) карту к моему HTML-документу. Он находится в середине страницы, и когда я прокручиваюсь колесиком мыши и прибываю на карту, он автоматически приближается к карте.
Я хочу прокрутить страницу, не останавливаясь на карте. Есть ли способ активировать масштабирование колес только после первого нажатия на карту?
javascript
leaflet
zoom
mouse-wheel
Jandroide
источник
источник
Больше комментариев / улучшений по компоненту переключения принятого ответа , и это здорово (спасибо). Но.
При взаимодействии с картой для многих случаев использования пользователю также необходимо щелкнуть карту, чтобы выполнить свою задачу, поэтому это:
Может привести к неожиданному поведению, когда пользователь действительно начнет использовать карту.
Я бы предложил что-то, что может показаться пользователю более интуитивно понятным - щелкните по карте, чтобы отключить прокрутку мышью .
Например, установите ваш
scrollWheelZoom: false
как выше, тогда:источник
focus
/blur
определенно делает функциональность карты более интуитивно понятной.Leaflet.Sleep облегчит вашу работу, и ее можно будет настраивать
По сути, он отключает события прокрутки, когда они не нужны, и «пробуждает» вашу карту, когда они нужны.
Я бы разместить код, но по умолчанию , кажется , чтобы получить это право, так что вы , вероятно , не будет ничего , кроме нужно ,
<script src="path/to/leaflet-sleep.js"></script>
и вы будете иметь карту , как это .источник
Вы можете сделать это только этими тремя строками:
или:
источник