[Openlayers] Render Event 정리

2018년 10월 22일

이벤트

Map

PluggableMap

event module note
postcompose module:ol/render/Event~RenderEvent
postrender module:ol/MapEvent~MapEvent Triggered after a map frame is rendered.
precompose module:ol/render/Event~RenderEvent
rendercomplete module:ol/render/Event~RenderEvent Triggered when rendering is complete, i.e. all sources and tiles have finished loading for the current viewport, and all tiles are faded in.

WebGLMap

Layer

event module note
postcompose module:ol/render/Event~RenderEvent
render module:ol/MapEvent~MapEvent
precompose module:ol/render/Event~RenderEvent
rendercomplete module:ol/render/Event~RenderEvent Triggered when rendering is complete, i.e. all sources and tiles have finished loading for the current viewport, and all tiles are faded in.

ImageLayer

event module note
postcompose module:ol/render/Event~RenderEvent
ender module:ol/MapEvent~MapEvent
precompose module:ol/render/Event~RenderEvent
rendercomplete module:ol/render/Event~RenderEvent Triggered when rendering is complete, i.e. all sources and tiles have finished loading for the current viewport, and all tiles are faded in.

Heatmap

event module note
postcompose module:ol/render/Event~RenderEvent
render module:ol/MapEvent~MapEvent
precompose module:ol/render/Event~RenderEvent
rendercomplete module:ol/render/Event~RenderEvent Triggered when rendering is complete, i.e. all sources and tiles have finished loading for the current viewport, and all tiles are faded in.

정리

위 이벤트들의 작동을 확인하기 위해 Openlayers render event라는 예제 페이지를 작성하여 확인하였다.

openlayers render event

  • Mapprecompose가 발생 이후, Layer들의 사이클이 돈 이후, postcompose, postrender 발생
  • 하나의 Layer가 사이클이 돌 땐, precompose ~ postcompose의 일련의 과정이 발생하고 다음 Layer로 이동
  • 타일 Layer는 불리는 대로 일련의 과정이 발생하고, precompose, postcompose만 발생
  • VectorLayerprecompose, render, postcompose가 발생
  • VectorLayerstyle functionprecompose 전에 실행
  • VectorLayerstyle function은 갱신의 필요가 없을 경우 발생하지 않음(미세하게 지도가 움직이거나 새로운 레이어가 추가되었을 경우)
  • Layerrendercomplete가 발생하는 경우는 확인하지 못했으며, Maprendercomplete는 최초 로드 시를 제외하고 가장 마지막 postrender 이후 발생
Recently posts
© 2016-2023 smilecat.dev