在openlayers 3中,将指向性交互限制为两层
Restricting pointermove interactions to two layers in openlayers 3
在Ubuntu 上的Chrome中运行的openlayers版本v3.6
我使用以下语法创建了一个包含多个层(foo、bar、beltch)的地图:
layers:[foo,bar,beltch],
我想将交互限制在foo和bar层api文档位于http://openlayers.org/en/master/apidoc/ol.interaction.Select.html建议使用以下语法
var selectPointerMove = new ol.interaction.Select({
condition: ol.events.condition.pointerMove,
layers:[foo,bar]
});
但我似乎得到了所有层的事件,我检查了示例,除非我忽略了什么,否则似乎没有任何内容涵盖这一领域。
有人有什么建议吗
使用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;
}
});
相关文章:
- 如何将中的两个geoJSON功能集合添加到两个层组中
- 保存交互绘制开放图层
- 使用 Javascript 对数据层中的两个值求和
- 如何让两层画布彼此重叠
- 通过多边形绘制交互进行开放层 3 选择
- 当图层重叠时,悬停对象在背景/前景元素上出现两次
- 软件设计 - 两个类之间的交互
- 与两个键交互
- 开放层 3:加载矢量特征上的交互
- 传单:将同一层添加到两个不同的地图上
- 聊天应用程序-测试两个客户端之间的交互
- 使用React.render()渲染的两个组件之间的交互是否可能
- 在两个不同的浏览器窗口中使用dc.js crossfilter交互两个不同的图形
- 两个jcanvas图层蒙版可以在同一个画布上存在吗?
- 使用Javascript在两个不同的web应用程序之间进行交互
- 让两个自定义指令在AngularJS中相互交互
- 如何用KineticJS在两个阶段上拖动图层
- 是否可以调用两个函数,如果ext.form.checkbox被选中?或者为什么我在openlayers中的层不能重新排序
- 在Javascript或HTML5中尝试两个无需用户交互的下载链接
- 在openlayers 3中,将指向性交互限制为两层