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

图层组批量控制

业务图层往往成组出现,把同一类图层收进数组,一次循环就能整体显隐,不必逐层去点复选框。

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

说明

组内图层存进 poiLayers 数组,父级复选框触发时遍历数组调用 setVisible()。子复选框只改对应那一层,父级状态用 some() 反推,避免父子状态互相覆盖。 组内图层共用同一个 zIndex 区间,叠放次序由加入顺序决定。

操作结果
取消「POI 图层组」三类点要素同时隐藏,底图保留
取消单个子项仅该类要素消失,父级复选框自动变为未选中
重新勾选父级组内所有图层恢复显示

setVisible() 只切渲染,不销毁数据源;需要彻底停掉请求时改用 layer.setSource(null)。