Google 地图在全屏模式下不显示警报对话框

Alertify dialogs are not visible with Google Maps in full screen mode

我在一个网站上工作,该网站使用 Alertify 提示来确认 Google 地图上的事件。这适用于位于 div 中的地图,但在全屏模式下地图会遮挡提示。

Alertify 提示仍然存在且尺寸正确,但似乎落后于地图。我试过强制地图和 alertify divs 的 z-index,但没有效果。

如果我将 display:none 的规则强加到地图 div 它会消失并且对话框再次可见,但是当可见时地图似乎以某种方式被强制到前面?

使用 Google 地图 Javascript API v3。

更新:我找到了一个解决方法,但并不理想。当库被调用时,Alertify 动态地插入一个 div 和 class .alertify 在结束的 body 标签之前。如果此 div 立即移动到地图 canvas 中的第一个 div 内,它将显示在地图上方。幸运的是,这可以使用 alertify 的 onshow 钩子强制执行:

alertify.confirm("Are you sure you want to delete this", function(ev) {
//Code if yes
}, function(ev) {
//Code if no
}).set({onshow:function(){$(".alertify").prependTo("#canvas div:first")}}); 

不漂亮,但它可以代替适当的解决方案。

没有必要继续打开这个问题,如上回答。