我尝试使用Google Maps API在Google地图上将滚动设置为false。我有一个Apple Magic Mouse鼠标,我认为这会导致预期行为出现问题。
下面是我初始化地图的方法,即使scrollWheel设置为false
,当我向下滚动页面时它仍会滚动。这是一种不必要的效果,因为地图显示在屏幕的上半部分,并且地图下方也有内容。我试图避免地图滚动,并在光标到达地图画布时让用户发疯。
var map = new google.maps.Map(document.getElementById('canvas'), {
mapTypeId: mapTypeId,
mapTypeControl: false,
scrollWheel: false,
center: {lat: 52, lng: 6},
zoom: 4
});
当我尝试console.log(map.get('scrollWheel'));
时,它会按预期返回false
。
对此有何建议?
答案 0 :(得分:2)
首先,有两种方法可以禁用Google地图滚动:
使用Google Maps Embed API。
您无法禁用滚动:禁用"鼠标滚轮"使用jQuery的事件,因为它在iframe中不起作用。您需要在iframe上设置pointer-events: none
,在点击叠加层时设置pointer-events: auto
。
有关更具体的说明,请参阅Disable mouse scroll wheel zoom on embedded Google Maps和Prevent a Google Maps iframe from capturing the mouse's scrolling wheel behavior。
使用Google Maps Javascript API。
new google.maps.Map(document.getElementById('map'), options);
您可以使用scrollwheel: false
和draggable: false
。
但如果这些方法无法解决您的问题,那么问题就在于Apple的神奇鼠标缩放尺寸。请参阅带有Apple触控板(Magic Mouse)的issues。