我在地图上有多个引脚,每一个都有两个与它相关的事件(鼠标点击和鼠标移动)。但只有鼠标在开火,而不是点击。下面是我正在使用的代码。
//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..
}
});请建议..。
发布于 2016-11-16 09:15:36
四年..。没人回答,真丢脸。
本质上,鼠标操作事件正在触发,而您的信息框正在弹出。很可能是从针上弹出来的。
所以,当你点击的时候,你点击的是信息框,而不是引脚本身,所以没有点击事件触发。
根据地图上发生的情况,可以选择各种选项来解决问题:
确保引脚层z-索引高于信息框层(当然,信息框可能会部分隐藏在该层其他引脚后面)。
在信息框选项中添加一个偏移量,将其从引脚上移开。
定制您的信息框,以便您可以控制它的外观和位置-确保针是可见的点击。
我敢肯定还有其他选择。然而,最起码,堆叠是问题的根源。
https://stackoverflow.com/questions/10978122
复制相似问题