将鼠标单击和鼠标悬停事件附加到 Bing 地图图钉不起作用

Attaching mouse click and mouseover events to a Bing maps pushpin not working

本文关键字:鼠标 地图 Bing 不起作用 单击 悬停 事件      更新时间:2023-09-26

我在地图上有多个图钉,每个图钉都有两个与之关联的事件(鼠标单击和鼠标悬停)。但只有鼠标悬停在上面是发射,而不是点击。下面是我正在使用的代码。

//Creating the pushpin
var pin = new Microsoft.Maps.Pushpin(loc);
    pin.Description = "Some address";
    Microsoft.Maps.Events.addHandler(pin, 'mouseover', function(e){
         if (e.targetType == 'pushpin') {
         self.bingInfobox.setLocation(e.target.getLocation());
         self.bingInfobox.setOptions({
             visible: true, title: e.target.Title, description:  e.target.Description });
           }       
    });
    Microsoft.Maps.Events.addHandler(pin, 'click', function(e){
         if (e.targetType == 'pushpin') {
           // some functionality..
         }   
    });

请建议..

4 年...可耻的是没有人回答。

本质上,鼠标悬停事件正在触发,并且您的信息框正在弹出。它可能在引脚弹出。

因此,

当您单击时,您正在单击信息框而不是图钉本身,因此不会触发图钉点击事件。

有多种

选项可供选择来解决问题,具体取决于地图上发生的情况:

确保图钉图层 z 索引高于信息框图层(当然,信息框最终可能会部分隐藏在图层中的其他图钉后面)。

将偏移量添加到信息框选项以将其从引脚上移开。

自定义您的信息框,以便您可以控制其外观和位置 - 确保单击时可以看到图钉。

我敢肯定还有其他选择。但是,至少,覆盖很可能是问题的根源。