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

hamstap85

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

是否有任何方法需要在全屏视图中进行协作滚动,或者首先在信息框中重新捕获滚动?

-编辑-

到目前为止,这已经简化了(在多个模型实例中):

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

我试图找出信息框,但我并不是最擅长阅读打字稿的人,尤其是当它是我的前辈编写的大量模块和模型时。

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

hamstap85

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

// 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();
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章