안녕하세요.
이 지도가 조금만 뜨는 현상은 계속 발생하는 것이아니라 10번중 1~2번정도 발생합니다.
이 현상에대해 포럼에있는 여러 글들을 보며 해결해보려하고 있습니다.
현재 React를 사용하고 있으며, CSS는 구글의 Merterial-UI 모듈을 사용하고 있습니다.
순차적으로 로드하기위해 React의 HOC방식으로 map을 로드하고 있습니다.
현재 지금 사용하고 있는 구성은
- sdk를 다운받고 - 완료되면
- kakao.maps.load 콜백으로 window kakao 객체를 전달해 준 후에
- 클라우드에서 데이터를 받아 컴포넌트에서 좌표를 넣어준 후 로드하고 있습니다.
지도가 조금만 뜨는 현상은 포럼을 통해 알아봤을 때
- 맵을 이동하거나 style변경으로 (display:none) 다시그리는 경우 - 함수map.relayout()을 사용하거나,
- CSS가 제대로 적용되지 않은 부분을 해결하거나,
- CSS가 뒤늦게 적용되었을 때
제가 알아본 바로는 위의 경우가 있는 것 같습니다. 제 추측에 제 경우는 3번 처럼 로드되는 것 같습니다. CSS(width, height)가 맵이 로드된 후에 주입되어 카카오맵이 타일을 하나밖에 필요없다고 생각하여 하나만 주는 것 같습니다.
문제를 제대로 해결하기 위해서 두가지 방식이 있을 것 같은데
- timeout에 map.relayout() 를 주는방법과
- css를 불러온 후에 맵을 로드하는 방법이 있을 것 같습니다.
1번으로 하면 해결하기 쉽지만, timeout을 걸었을 때 깔끔하게 해결되지 않은 느낌이 듭니다.
위 2번 이라고 생각했지만, 또 적으면서 생각해보니 모듈을 적용하지 않고, 태그에 바로 적용해 보았는데 동일 한 오류가 나는걸 보니 CSS 때문은 또 아닌것 같습니다. 아니면 제가 놓치고 있는 부분이 있는 것인지…
혹시 좋은 방법이 있으시거나, 조언해주실 사항이 있다면 감사하겠습니다