Ctrl + Scroll to Zoom Google지도 비활성화


95

아무도 CTRL+ 를 비활성화하는 방법을 알고 Scroll있습니까?

먼저 마우스 휠을 움직이면지도가 확대 / 축소됩니다. 그러나 이제는 CTRL+ 마우스 휠 스크롤을 눌러 확대 / 축소 하도록 요청합니다 .

이 기능을 어떻게 비활성화합니까? 문서에서 아무것도 찾을 수없는 것 같습니다.

https://developers.google.com/maps/documentation/javascript/controls#ControlOptions

여기에 이미지 설명 입력



@BrajeshKanungo는 위의 기능과 관련이 없습니다. 이것은 Google지도에서 도입 한 새로운 기능입니다. 사용 중지하고 싶습니다.
Dawood Awan

사용중인 API 버전을 알려 주시겠습니까?
Brajesh Kanungo


이것은 단지, 너무 우리의 사이트에 구글의 API에 대한 그래서 아마 업데이 트를 등장

답변:


153

gestureHandling: 'greedy'지도 옵션 으로 전달 해야합니다.

문서 : https://developers.google.com/maps/documentation/javascript/interaction#gestureHandling

예를 들면 :

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  gestureHandling: 'greedy'
});

최신 정보! Google지도부터 3.35.6속성을 옵션 래퍼로 묶어야합니다.

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  options: {
    gestureHandling: 'greedy'
  }
});

ealfonso새로운 정보에 감사드립니다


@DiegoAndrade 나는 세부 사항을 알지 못합니다. 당시에는 구현되지 않았을 수도 있습니다. 그러나 버전 3.29(고정), 3.30(출시) 및 그 이상 ( 3.exp, 실험적) 버전에 있습니다.
kano

예 @Kano,이 문서 에서이 기능은 여전히 ​​존재하지만 여기 내 테스트에서는 작동하지 않습니다. 나는 정말로 그들이 이것을 제거한 이유를 모른다 :(
Diego Andrade

1
나는 그것이 존재한다는 것을 압니다. 그게 요점입니다. 시작은 3.30작동하지 않습니다. 이 모든 버전을 테스트했습니다. 어쨌든 지금 쯤이면 3.26.
Diego Andrade

3
드디어 정답입니다. 이것 때문에 인터넷 검색에 오랜 시간이 걸렸습니다. Google이 이것을 기본값으로 설정하지 않은 이유는 저 밖에 있습니다.
woens

2
빙고, 이것은 완벽한 솔루션입니다.
N Khan

17

스크롤 확대 / 축소를 완전히 비활성화해도 괜찮다면 scrollwheel: false. 확대 / 축소 컨트롤 ( zoomControl: true) 을 제공하는 경우 사용자는 확대 / 축소 버튼을 클릭하여지도를 계속 확대 할 수 있습니다 .

문서 : https://developers.google.com/maps/documentation/javascript/reference("scrollwheel "에 대한 페이지 검색)

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  scrollwheel: false,
  zoomControl: true
});

7

오버레이 만 숨기고 싶지만 스크롤 및 확대 / 축소 기능을 비활성화하려는 경우 (이전처럼) CSS를 사용하여 오버레이를 숨길 수 있습니다.

.gm-style-pbc {
opacity: 0 !important;
}

이렇게하면 모바일에서도 숨겨 지므로 다음과 같이 사용하여 "지도를 이동하려면 두 손가락 사용"을 표시 할 수 있습니다.

@media only screen and ( min-width: 980px ) {
.gm-style-pbc {
opacity: 0 !important;
}
}

감사합니다. 나는 더 많은 사람들이 이것을 원하지 않는다는 것에 놀랐습니다. 그것은 나를 위해지도 경험을 사실상 파괴 하는 매우 산만 한 오버레이 메시지입니다.
BaseZen 2019

5

속성 gestureHandling내 중첩은 options버전 "3.35.6"에서 저에게 효과적이었습니다.

map = new google.maps.Map(document.getElementById('map'), {
        zoom: 12,
        options:{
            gestureHandling: 'greedy'
        }
    });

4

gestureHandling: 'greedy'지도 위에 오버레이가 있었기 때문에 수정 사항을 적용 할 수 없었습니다. 결국 mousewheel이벤트 를 감지 하고 ctrl속성을 true로 설정했습니다 .

// Load maps and attach event listener to scroll event.
var $map = $('.map');
$map[0].addEventListener('wheel', wheelEvent, true);         

function wheelEvent(event) {
    // Set the ctrlKey property to true to avoid having to press ctrl to zoom in/out.
    Object.defineProperty(event, 'ctrlKey', { value: true });
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.