Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 禁用Ctrl+;滚动至缩放谷歌地图_Javascript_Google Maps - Fatal编程技术网

Javascript 禁用Ctrl+;滚动至缩放谷歌地图

Javascript 禁用Ctrl+;滚动至缩放谷歌地图,javascript,google-maps,Javascript,Google Maps,有人知道如何禁用CTRL+滚动键吗 首先,当移动鼠标滚轮时,地图将放大/缩小。但现在它要求按CTRL+鼠标滚轮滚动来放大/缩小 如何禁用此功能?我在文档中似乎找不到任何内容: 您需要将手势处理:“贪婪”传递给您的地图选项 文件: 例如: const map = new google.maps.Map(mapElement, { center: { 0, 0 }, zoom: 4, gestureHandling: 'greedy' }); 更新由于Google Maps3.35

有人知道如何禁用CTRL+
滚动键吗

首先,当移动鼠标滚轮时,地图将放大/缩小。但现在它要求按CTRL+鼠标滚轮滚动来放大/缩小

如何禁用此功能?我在文档中似乎找不到任何内容:


您需要将
手势处理:“贪婪”
传递给您的地图选项

文件:

例如:

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

更新由于Google Maps
3.35.6
您需要将属性封装到选项包装中:

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

感谢您
ealfonso
提供的新信息

如果您可以完全禁用滚动缩放,您可以使用
滚轮:false
。如果您为缩放按钮提供缩放控制(
zoomControl:true
),则用户仍可以通过单击缩放按钮缩放地图

文件: (在页面中搜索“滚轮”)


我无法让
手势处理:“贪婪”
修复为我工作,因为我在地图上有一个覆盖。我最终检测到
mouseweel
事件,并将
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 });
}

如果您只希望隐藏覆盖,但仍禁用滚动和缩放功能(如前所述),则可以使用CSS隐藏覆盖:

.gm-style-pbc {
opacity: 0 !important;
}
请注意,这也会将其隐藏在手机中,因此您可以使用类似的方式确保其显示“使用两个手指移动地图”:


gestureholling
嵌套在
options
属性中,在版本“3.35.6”上对我很有效


这个链接可能会帮助你@brajeshkaungo,它与上述功能无关-这是谷歌地图引入的一个新功能-我想禁用它。好的,你能告诉我你正在使用哪个API版本吗。最新版本-这也刚刚出现在我们的网站上,所以可能是谷歌的更新API@DiegoAndrade我不知道细节。也许当时没有实施。但是它出现在
3.29
(冻结)、
3.30
(发行版)和更高版本(
3.exp
,实验版)上。是的@Kano,在这些文档中此功能仍然存在,但在我的测试中它不起作用。我真的不知道他们为什么删除这个:(我知道它是存在的。这就是重点。从
3.30开始,它不起作用。我测试了所有这些版本。无论如何,它现在在
3.26
上起作用了。终于找到了正确的答案。我花了很长时间在谷歌上搜索。谷歌为什么不把它设为默认值,我无法理解。宾果,这是一个完美的解决方案。谢谢。我很惊讶。)更多的人不想要这个。这是一个非常分散注意力的叠加信息,实际上破坏了我的地图体验。
.gm-style-pbc {
opacity: 0 !important;
}
@media only screen and ( min-width: 980px ) {
.gm-style-pbc {
opacity: 0 !important;
}
}
map = new google.maps.Map(document.getElementById('map'), {
        zoom: 12,
        options:{
            gestureHandling: 'greedy'
        }
    });