Bing Maps V8 JS API GroundOverlay belowLabels 鼠标事件

Bing Maps V8 JS API GroundOverlay beneathLabels mouse events

我使用透明的 png 作为 groundoverlay 覆盖整个 map.I 必须设置 belowLabels=false 因为地图的标签层使我的叠加层的某些部分不可读。但是在 belowLabels=false 的情况下,所有 mouse/keyboard 事件都会转到我的 groundoverlay 而不是地图。我知道这个 sis 已记录,但我不想那样,我如何将这些事件路由到地图?在 google-api 中,我简单地将 groundoverlay 声明为不可点击。或者除了在地面上将透明 png 放在整个地图上方而不捕获所有事件之外还有其他方法吗?

我认为要让鼠标事件通过地面叠加层,pointer-events CSS 样式需要设置为 none。我相信 IE10 中的图像不支持此功能(发布此 SDK 时 Bing 地图支持的最小浏览器,所以这可能不是内置选项的原因)。做了一些实验,以下似乎有效:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script>
    var map, overlay;

    function GetMap() {
        map = new Microsoft.Maps.Map('#myMap', {
            center: new Microsoft.Maps.Location(-16.366, -46.8945),
            zoom: 17
        });

        overlay = new Microsoft.Maps.GroundOverlay({
            bounds: Microsoft.Maps.LocationRect.fromEdges(-16.36523189120857, -46.89686679103114, -16.3674247514764, -46.89337059621697),
            imageUrl: 'https://upload.wikimedia.org/wikipedia/commons/e/e9/Foto_a%C3%A9rea_de_Una%C3%AD_detalhando_o_c%C3%B3rrego_Canabrava_3.jpg',
            rotation: 298,          
            beneathLabels: false
        });
        map.layers.insert(overlay);
        
        //Access the underlying image object and disable pointer events so that mouse events flow through to the map.
        overlay._img.style.pointerEvents = 'none';
    }
    </script>
    <script async defer src="https://bing.com/api/maps/mapcontrol?callback=GetMap&key=[Your Bing Maps Key]"></script>
</head>
<body>
    <div id="myMap" style="position:relative;width:800px;height:600px;"></div>
</body>
</html>