谷歌地图scrollWheel = false和Apple的Magic Mouse

时间:2016-03-12 12:59:04

标签: google-maps-api-3 scroll

我尝试使用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。 对此有何建议?

1 个答案:

答案 0 :(得分:2)

首先,有两种方法可以禁用Google地图滚动:

  1. 使用Google Maps Embed API。

    您无法禁用滚动:禁用"鼠标滚轮"使用jQuery的事件,因为它在iframe中不起作用。您需要在iframe上设置pointer-events: none,在点击叠加层时设置pointer-events: auto。 有关更具体的说明,请参阅Disable mouse scroll wheel zoom on embedded Google MapsPrevent a Google Maps iframe from capturing the mouse's scrolling wheel behavior

  2. 使用Google Maps Javascript API。

    new google.maps.Map(document.getElementById('map'), options); 您可以使用scrollwheel: falsedraggable: false

  3. 但如果这些方法无法解决您的问题,那么问题就在于Apple的神奇鼠标缩放尺寸。请参阅带有Apple触控板(Magic Mouse)的issues