如何防止全屏嵌入 Google 地图首先捕获滚动
How to prevent full-screen embedded Google Maps from capturing scroll first
我有一个嵌入式 Google Maps V3,gestureHandling
默认为 "cooperative"
,这很好,因为单击位置群集时会出现一个信息框,而且它经常需要滚动.但是,当地图视图进入全屏时,它 returns 会定期进行未修改的滚动,在信息框之前捕获它,使信息框变得无用,因为我不能再在其中滚动了。
有什么方法可以在全屏视图中要求协同滚动,或者先在信息框中重新捕获滚动?
--- 编辑 ---
这是到目前为止发生的事情,经过简化(跨多个模型实例):
const theMap = new google.maps.Map($("#calendarMap"), {
zoom: 4,
center: {
lat: 39.82,
lng: -98.57
},
gestureHandling: "cooperative"
});
我正在尝试找出信息框,我不是最擅长阅读打字稿的人,尤其是当它是我前辈写的大量模块和模型时。
我通过控制台验证了地图在全屏时确实处于 "cooperative" 模式,我现在正试图弄乱信息框设置。
以更好的方式解决。从信息框模型创建信息框时执行的代码:
// 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();
}
});
我有一个嵌入式 Google Maps V3,gestureHandling
默认为 "cooperative"
,这很好,因为单击位置群集时会出现一个信息框,而且它经常需要滚动.但是,当地图视图进入全屏时,它 returns 会定期进行未修改的滚动,在信息框之前捕获它,使信息框变得无用,因为我不能再在其中滚动了。
有什么方法可以在全屏视图中要求协同滚动,或者先在信息框中重新捕获滚动?
--- 编辑 ---
这是到目前为止发生的事情,经过简化(跨多个模型实例):
const theMap = new google.maps.Map($("#calendarMap"), {
zoom: 4,
center: {
lat: 39.82,
lng: -98.57
},
gestureHandling: "cooperative"
});
我正在尝试找出信息框,我不是最擅长阅读打字稿的人,尤其是当它是我前辈写的大量模块和模型时。
我通过控制台验证了地图在全屏时确实处于 "cooperative" 模式,我现在正试图弄乱信息框设置。
以更好的方式解决。从信息框模型创建信息框时执行的代码:
// 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();
}
});