经纬志
首页 / OpenLayers / 使用示例

框选要素

按住 Shift 拉一个矩形,范围内所有点位一次性选中并变色,比逐个点击高效。

OpenLayers 10.3.1 · 更新 2026-10-28
源码与运行效果
运行效果

说明

ol.interaction.DragBox 用 shiftKeyOnly 作为触发条件, boxend 事件里取 getGeometry().getExtent(), 再交给 forEachFeatureIntersectingExtent 遍历候选要素。 选中要素调用 setStyle() 换成橙色,取消选择时恢复默认样式。

操作结果
Shift + 拖动拉框框内点位转为橙色,顶部显示选中数量
重新拉一个框上一次选择被清除,只保留新结果
点击「清空选择」全部点位恢复默认蓝色

判断依据是要素的外包矩形与选择框相交,面要素部分压线也会被选中,必要时再用几何求交过滤。