我在地图上有多个引脚,每个引脚都有两个与之关联的事件(鼠标单击和鼠标悬停)。但只有鼠标悬停才会发射而不是点击。以下是我正在使用的代码。
//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..
}
});
请建议..
答案 0 :(得分:0)
基本上,mouseover事件正在触发,并且您的信息框正在弹出。它可能会突然出现 over 。
所以,当你点击时,你点击了信息框而不是针脚本身,所以没有针点击事件发射。
根据地图上发生的情况,可以选择多种选项来解决问题:
确保引脚层z-index高于信息框图层(当然,信息框最终可能部分隐藏在图层中的其他引脚后面。)
在信息框选项中添加一个偏移量,将其从引脚上移开。
自定义您的信息框,以便您可以控制它的外观和位置 - 确保点击时可以看到该针。
其他选择我敢肯定。然而,至少,重叠很可能是问题的根源。