这段时间一直在做XX大数据项目,由于多维度和多条件查询的缘故,数据比较大,一个ol.layer.vector的图层要加载将近一两万的点,这时性能瓶颈就上来了,所以在前端显示时:页面及其卡顿甚至崩溃。另外因为添加了interaction交互事件,每个点都包含了较多的属性,信息量比较大。。。忍不了一下。。
照例查了查openlayers的API文档,发现新版的openlayers6支持WebGLPointsLayer,直接渲染百万级的点都没啥问题。
奈何现在项目用的是openlayers5,测试了一下,一些方法有更改,影响其他功能页面,短期不能贸然升级,于是放弃了这个升级的方式。
最后结合了切片加载形式和GIS的抽稀思想:同时创建了两个图层,一个图层在初始化页面就只加载部分包含重要信息的点,另一个图层在放大到一定层级后显示剩余的点。
动手实施后,果然纵享丝滑。