在整个谷歌地图上放置透明的覆盖(就像一个模态覆盖)

Place transparent overlay over entire google map (like a modal cover)

本文关键字:覆盖 模态 一个 谷歌地图 透明      更新时间:2023-09-26

你好,正如标题所示

我有一张地图,除了一个挂在绝对位置大小上的导航栏外,大部分地图都充满了屏幕。

当点击一个标记时,我会弹出一个包含位置信息的信息框。我想在这个后面放一个黑色透明层,在地图的顶部,以防止地图点击,直到关闭信息框。

我尝试过使用自定义覆盖,主要是使用另一个信息框来分层,但为了定位信息框,它会偏移顶部和左侧的位置,以满足它应该覆盖的标记。

所以我现在遇到的是一个黑色透明框,5000像素乘5000像素,出现在引脚的左下角。

有没有办法设置覆盖以匹配谷歌地图画布?顶部、左侧、右侧、底部。

也许这是一个解决方案,而不是使用覆盖。您可以关闭控件,这样用户就无法与地图进行交互。

如果您使用:

map.setOptions({draggable: false, 
        zoomControl: false, 
        scrollwheel: false, 
        disableDoubleClickZoom: true,
        streetViewControl: false,
        panControl: false,
        mapTypeControl:false});

关闭地图上的控件。其中map是地图对象。每当你关闭你的信息窗口时,你就会颠倒这个过程来启用一切。

我最终使用jquery将左上方的位置设置为0,并将覆盖移动到地图窗格。