openlayers之渲染事件运行顺序实战案例

1.事件中文介绍ol/render/Event~RenderEvent

postcompose

图层组合后触发。地图调度时,事件对象不会有集合context。图层调度时,事件对象会有集合context。目前只有 WebGL 图层会调度此事件。

postrender

图层渲染完成后触发。

precompose

在图层组合前触发。地图调度时,事件对象不会有集合context。图层调度时,事件对象会有集合context。目前只有 WebGL 图层会调度此事件。

prerender

在渲染图层之前触发。

rendercomplete

渲染完成时触发,即所有源和图块均已为当前视口完成加载,并且所有图块均已淡入。事件对象不会有集合context。

官网api地址:https://openlayers.org/en/latest/apidoc/module-ol_render_Event-RenderEvent.html

2.测试案例

代码中监听事件的顺序:

  map.once('postcompose',(event)=>{
      console.log("2、图层组合后触发")
    })
    map.once('postrender',(event)=>{
      console.log("4、图层渲染完成后触发")
    })
    map.once('precompose',(event)=>{
      console.log("1、在图层组合前触发")
    })
    map.once('prerender',(event)=>{
      console.log("3、在渲染图层之前触发")
    })
    map.once('rendercomplete',(event)=>{
      console.log("5、渲染完成时触发")
    })

运行结果:(在代码顺序不定的情况下,事件监听运行顺序是一致的),至于prerender(3在渲染图层之前触发)为什么没有监听运行,还未可知!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值