답변:
간단합니다 : scrollWheelZoom: false
옵션으로 L.Map을 만든 다음 리스너를 추가하십시오 :
map.once('focus', function() { map.scrollWheelZoom.enable(); });
확대 / 축소를 전환해야하는 경우 :
map.on('click', function() {
if (map.scrollWheelZoom.enabled()) {
map.scrollWheelZoom.disable();
}
else {
map.scrollWheelZoom.enable();
}
});
허용 된 답변 의 전환 구성 요소에 대한 의견 / 개선 사항이 많았 습니다 (감사합니다). 그러나.
지도와 상호 작용할 때 많은 사용 사례의 경우 사용자는지도를 클릭하여 작업을 수행해야합니다.
map.on('click', function() {
if (map.scrollWheelZoom.enabled()) {
map.scrollWheelZoom.disable();
}
else {
map.scrollWheelZoom.enable();
}
});
사용자가 실제로지도를 사용하기 시작하면 예기치 않은 동작이 발생할 수 있습니다.
마우스 스크롤을 비활성화 하려면 사용자 가지도를 좀 더 직관적으로 클릭 하는 것이 좀 더 직관적 인 것처럼 보일 수 있습니다 .
예를 들어 scrollWheelZoom: false
위와 같이 설정 한 후 다음을 수행하십시오.
map.on('focus', function() { map.scrollWheelZoom.enable(); });
map.on('blur', function() { map.scrollWheelZoom.disable(); });
focus
/ blur
확실히지도 기능을 훨씬 더 직관적 수 있습니다.
그 세 줄만으로 그렇게 할 수 있습니다.
map.scrollWheelZoom.disable();
map.on('focus', () => { map.scrollWheelZoom.enable(); });
map.on('blur', () => { map.scrollWheelZoom.disable(); });
또는:
map.scrollWheelZoom.disable();
this.map.on('click', () => { this.map.scrollWheelZoom.enable();});
this.map.on('mouseout', () => { this.map.scrollWheelZoom.disable();});