JavaScript

[Openlayers] map refresh() 지도 초기화 기능

로춘남 2021. 9. 30. 16:59
728x90


오픈레이어스를 통해서 Map 위에 레이어를 생성했다.

기존에 만들어진 레이어를 Map 위에서 On/Off를 통해 나타났다가 사라졌다가를 반복했었는데, 기존에 만들어진 레이어가 아닌, 내가 클릭하는것에 따라 Map 위에 찍히는 점들이 있었다.

이 점들은 기존에 있던 레이어가 아니기때문에 Layer Off 기능을 클릭해도 사라지지가 않았다.

그래서 기존 기능에 추가적으로 Map 위에 있는 Layer들을 초기화 시키고자 refresh() 기능을 사용해봤다.

 

말 그대로 Map을 깨끗한 초기 상태로 바꿔주는법.

코드는 아주 간단하다.

map.getLayers().forEach(layer => layer.getSource().refresh());

이렇게 사용해주면 Map 위에 있던 지저분한 Layer들이 깨끗해지고, 다시 초기상태로 작업을 시작 할 수가 있다.

728x90