在openlayers v3.6版中以unbunt
运行chrome我使用语法
在其中创建了一个带有severlayers(foo,bar,beltch)的地图layers:[foo,bar,beltch],
我想限制图层foo和bar的交互 http://openlayers.org/en/master/apidoc/ol.interaction.Select.html处的api文件 建议使用以下语法
var selectPointerMove = new ol.interaction.Select({
condition: ol.events.condition.pointerMove,
layers:[foo,bar]
});
但是我似乎得到了所有图层的事件,我已经检查过这些示例,除非我忽视了某些内容,否则似乎没有任何内容覆盖这个区域。
有人有任何建议
答案 0 :(得分:3)
使用filter
代替layers
。并确保您设置一个图层属性以便稍后进行比较。
var layerFeatures = new ol.layer.Vector({
name: 'selectable',
source: sourceFeatures
});
var hoverInteraction = new ol.interaction.Select({
condition: ol.events.condition.pointerMove,
filter: function(feature, layer){
if(layer.get('name') === 'selectable')
return true;
}
});