有人知道如何禁用 CTRL + 滚动
吗?
原来鼠标滚轮可以缩放地图,但现在需要按下 CTRL + 鼠标滚轮才能缩放。
我们该如何禁用此功能? 我在文档中找不到任何信息:
https://developers.google.com/maps/documentation/javascript/controls#ControlOptions
有人知道如何禁用 CTRL + 滚动
吗?
原来鼠标滚轮可以缩放地图,但现在需要按下 CTRL + 鼠标滚轮才能缩放。
我们该如何禁用此功能? 我在文档中找不到任何信息:
https://developers.google.com/maps/documentation/javascript/controls#ControlOptions
您需要将 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
提供的新信息
3.29
(冻结),3.30
(发布)及以上(3.exp
,实验性)。 - kano3.26
、3.27
、3.28
和 3.29
版本中使用。但从 3.30
开始就不能再使用了。至少目前是这样。 - Diego Andrade3.30
开始就不起作用了。我测试了所有这些版本。无论如何,现在它已经能够在 3.26
上运行了。 - Diego Andradescrollwheel: false
。如果您提供缩放控件(zoomControl: true
),用户仍然可以通过单击缩放按钮来缩放地图。const map = new google.maps.Map(mapElement, {
center: { 0, 0 },
zoom: 4,
scrollwheel: false,
zoomControl: true
});
.gm-style-pbc {
opacity: 0 !important;
}
@media only screen and ( min-width: 980px ) {
.gm-style-pbc {
opacity: 0 !important;
}
}
在版本 "3.35.6" 上,将 gestureHandling
嵌套在 options
属性中对我有用。
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
options:{
gestureHandling: 'greedy'
}
});
由于我在地图上有一个覆盖层,所以我无法使 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 });
}