map이라는 영역의 스타일이 미리 지정되지 않고
지도를 생성한 뒤 지정되면 이런 현상이 나타납니다.
API 내부에서는 해당 영역이 작았을 때를 감지한 뒤에 모든 계산을 끝내고 보니
이 영역에는 지도 이미지 타일 하나만 있어도 충분하다고 판단했기 때문에 하나만 나오는 것이죠.
이렇게 그려놓고 난 뒤,
해당 영역의 스타일이 변경되어 커졌기 때문에 뭔가 로딩이 덜 끝난 것처럼 보이는 겁니다.
스타일이 변경된 시점에
지도 영역이 변경되었다고 알려주는 map.relayout()
함수를 호출해야만 재계산을 하게 되고 정상적으로 출력됩니다.
브라우저 창을 resize하면 API 내부적으로 이벤트를 감지하여 map.relayout()
을 호출하게 되어 있습니다. 그렇기 때문에 정상적으로 출력되는 것이고요.
애초에 스타일을 지정해 주시거나
스타일이 변경이 끝난 시점을 캐치하여 map.relayout()
을 호출하시면 해결 될 거에요.