Open m4ngfu opened 2 years ago
遇到相同问题,,,,有解决的吗?
遇到相同问题,,,,有解决的吗?
目前没有,我不使用单击而使用双击,禁用地图的双击放大事件
遇到相同问题,,,,有解决的吗?
研究了一个上午,终于找到问题所在。 问题在于第一次openInfoWindow后极短时间内再次调用openInfoWindow或者infoWindow的close方法,就会造成click事件失效,解决的办法就是如果infoWindow存在的时候不要重复调用,这是修改后的代码
let infoWindow
var layer = new mapvgl.IconLayer({
width: 100 / 4,
height: 153 / 4,
offset: [0, -153 / 8],
opacity: 0.8,
icon: 'images/marker.png',
enablePicked: true, // 是否可以拾取
selectedIndex: -1, // 选中项
selectedColor: '#ff0000', // 选中项颜色
autoSelect: true, // 根据鼠标位置来自动设置选中项
onClick: (e) => { // 点击事件怎么样都没反应
console.log('click', e);
alert(1)
},
// 我在这里使用了openInfoWindow
onMousemove: (e) => {
if (!e.dataItem||infoWindow) return
console.log('mousemove', e);
infoWindow = new window.BMapGL.InfoWindow('内容', { title : "信息" });
infoWindow.addEventListener('close',()=>{
infoWindow=null;
});
let point = new window.BMapGL.Point(e.dataItem.geometry.coordinates[0], e.dataItem.geometry.coordinates[1]);
map.openInfoWindow(infoWindow, point)
},
onDblClick: e => {
console.log('double click', e);
},
onRightClick: e => {
console.log('right click', e);
}
});
就像下面这样