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

延迟设置数据源

图层先挂到地图上,数据源在点击后才挂载,未挂载时图层不画任何内容。

OpenLayers 10.3.1 · 对应官方 lazy-source.html · 更新 2026-10-28
源码与运行效果
运行效果

说明

图层可以先创建、后挂数据。source 为 null 时图层不渲染任何内容,调用 setSource 后才开始绘制,适合按需加载。

示例在按钮点击后延迟 300 毫秒读取内联 GeoJSON 并挂载,模拟异步请求;移除数据源演示反向操作。

操作结果
点击加载数据300 毫秒后出现面与点
移除数据源图层清空但仍留在图层列表
再次加载数据重新读入并渲染

setSource(null) 之后旧 source 的事件监听不会自动解绑,反复切换需要自己管理引用。