Select
是交互事件中的一种,用于选择矢量图层上的几何图形,添加选择交互事件后,点击地图上的几何图形或者将鼠标移动到几何图形上时,将获取到几何图形的相关信息,我们可以将选择的几何图形进行高亮显示。使用起来很简单,首先创建一个Select
对象,然后再使用Map
的addInteraction
方法添加该对象。选择的事件包括Single-click
, Click
, Hover
,Alt+Click
等。可以使用condition
属性来指定事件类型。
var select = new ol.interaction.Select();
map.addInteraction(select)
属性
- addCondition:指定一个函数,用于处理每一次事件。
- condition:用于设置事件函数,返回
false
时不处理事件。- layers:用于过滤选择的图层,可以用数组指定图层,如果是函数,当返回false`时不处理事件。
- style:设置选择时高亮显示的样式。
- removeCondition:删除条件选择的函数。返回一个布尔值是否触发事件。
- **toggleCondition:切换条件选择的函数。返回一个布尔值是否触发事件。
- multi:是否需要选择叠加的要素。默认为
false
。- features:设置要素选择的范围,如果设置了,只在该要素集下生效。
- filter:选择过滤器。当返回false`时不处理事件。
- hitTolerance:鼠标与几何图形之间的距离,距离越大越容易选中。
方法
- getFeatures:获取选中的要素集。
- getHitTolerance:获取鼠标与几何图形之间的距离。
- getLayer:获取选中的图层。
- setHitTolerance:设置鼠标与几何图形之间的距离。
事件
- select:选中事件,当选中的时候触该事件,如
select.on('select',function()})
。
个人博客