首页 / OpenLayers / 使用示例
框选要素
按住 Shift 拉一个矩形,范围内所有点位一次性选中并变色,比逐个点击高效。
源码与运行效果
说明
ol.interaction.DragBox 用 shiftKeyOnly 作为触发条件,
boxend 事件里取 getGeometry().getExtent(),
再交给 forEachFeatureIntersectingExtent 遍历候选要素。
选中要素调用 setStyle() 换成橙色,取消选择时恢复默认样式。
| 操作 | 结果 |
|---|---|
| Shift + 拖动拉框 | 框内点位转为橙色,顶部显示选中数量 |
| 重新拉一个框 | 上一次选择被清除,只保留新结果 |
| 点击「清空选择」 | 全部点位恢复默认蓝色 |
判断依据是要素的外包矩形与选择框相交,面要素部分压线也会被选中,必要时再用几何求交过滤。