首页 / OpenLayers / 使用示例
要素选中高亮
单击站点后放大显示并加上名称标签,选择集变化时实时更新状态栏。 Select 交互同时支持单击和拖拽框选,多选结果是一个集合。
源码与运行效果
说明
ol.interaction.Select 的 style 参数只在渲染命中要素时生效,
不会写入要素自身的样式,所以取消选中后自动恢复原样。
示例传的是函数而不是固定样式,目的是让高亮态的标注显示当前要素名称。
| 操作 | 结果 |
|---|---|
| 单击点位 | 圆点放大变红,上方显示名称 |
| 按住拖拽框选 | 框内所有点位进入选择集 |
| 点击空白处 | 清空选择,恢复默认样式 |
| 「清空选择」按钮 | 调用 getFeatures().clear() |
select 事件的两个字段分别代表本次新选中的要素和取消选中的要素,
想拿“当前全部选中项”要用 select.getFeatures(),
它返回的是一个 ol.Collection。
只希望对某个图层生效时,一定写上 layers: [layer]。
缺省情况下 Select 会遍历地图上所有矢量图层,
底图瓦片不会命中,但其他叠加层会被误选。