지도 일부만 보여지는 문제

map이라는 영역의 스타일이 미리 지정되지 않고
지도를 생성한 뒤 지정되면 이런 현상이 나타납니다.

API 내부에서는 해당 영역이 작았을 때를 감지한 뒤에 모든 계산을 끝내고 보니
이 영역에는 지도 이미지 타일 하나만 있어도 충분하다고 판단했기 때문에 하나만 나오는 것이죠.

이렇게 그려놓고 난 뒤,
해당 영역의 스타일이 변경되어 커졌기 때문에 뭔가 로딩이 덜 끝난 것처럼 보이는 겁니다.

스타일이 변경된 시점에
지도 영역이 변경되었다고 알려주는 map.relayout() 함수를 호출해야만 재계산을 하게 되고 정상적으로 출력됩니다.

브라우저 창을 resize하면 API 내부적으로 이벤트를 감지하여 map.relayout()을 호출하게 되어 있습니다. 그렇기 때문에 정상적으로 출력되는 것이고요.

애초에 스타일을 지정해 주시거나
스타일이 변경이 끝난 시점을 캐치하여 map.relayout() 을 호출하시면 해결 될 거에요.

1개의 좋아요