最近,我有充分的理由在同一张地图上使用两种不同的选择交互,并且很惊讶地发现,最新应用的选择交互的事件处理程序是唯一触发的事件处理程序。
这两个选择交互都使用默认条件,即单击。
有没有办法让他们都触发?
最佳答案
嗯,即时通讯还使用了两次选择交互,我没有任何问题。我添加了一个对pointermove(如悬停)做出反应,一个对单击进行响应,并且两个选择交互都触发了。请注意为它们“命名”不同。
命名是错误的,我只是使用不同的变量创建/初始化两个
//select interaction working on click
var selectClick = new ol.interaction.Select({
condition: ol.events.condition.click,
layers: [layer]
});
// select interaction working on "pointermove"
var selectPointerMove = new ol.interaction.Select({
condition: ol.events.condition.pointerMove,
layers: [layer]
});
map.addInteraction(selectClick);
map.addInteraction(selectPointerMove);