首页 / OpenLayers / 使用示例
`r`n 复用数据源
源是数据,图层是画法,同一份源可以喂给多个图层,甚至多幅地图。
`r`n
源码与运行效果
说明
示例只建一个 ol.source.Vector,分别装进两个矢量图层,再把图层放进左右两幅地图。点击「新增一个要素」时只向源里加要素,两幅图同时出现新点;「清空」也只清一次源。底图各自独立,视图互不影响,说明共享的是数据而不是视图状态。
| 操作 | 结果 |
|---|---|
| 点击「新增一个要素」 | 左右两幅地图同时出现新点 |
| 点击「清空」 | 两侧要素一起消失 |
| 分别拖动两幅地图 | 视野各自变化,数据仍共享 |
要点
- 共享源时样式可以各自定义,数据与表现解耦。
- 注意别在销毁地图时把共享源一并清空。
多视图联动场景里,共享源能省掉同步数据的逻辑,只同步视图状态即可。