如何防止全屏嵌入式Google地图首先捕获滚动

时间:2018-04-17 21:24:38

标签: javascript google-maps google-maps-api-3 scroll fullscreen

我有一个嵌入式Google Maps V3,gestureHandling默认为"cooperative",这很棒,因为点击位置群集时会出现信息框,而且经常需要滚动。但是,当地图视图进入全屏时,它会返回到常规的未修改滚动状态,在信息框之前捕获它,使信息框无效,因为我无法再滚动它。

有没有办法在全屏视图中要求合作滚动,或者首先在信息框中重新捕捉滚动?

---编辑---

到目前为止,这是发生了什么,简化了(它跨越多个模型实例):

const theMap = new google.maps.Map($("#calendarMap"), {
    zoom: 4,
    center: {
        lat: 39.82,
        lng: -98.57
    },
    gestureHandling: "cooperative"
});

我正在试图找出信息框,我不是最好的阅读打字稿,特别是当它是我的老年人写的大量模块和模型时。

我通过控制台验证了全屏时地图确实处于“合作”模式,我现在正试图弄乱信息框设置。

1 个答案:

答案 0 :(得分:0)

以更好的方式解决。从信息框模型创建信息框时执行代码:

// this.div is the jQuery node that is this infobox
google.maps.event.addDomListener(this.div, "wheel", (e) => {
    e.cancelBubble = true;
    if (e.stopPropagation) {
        e.stopPropagation();
    }
});