정적(static) 지도가 아닌 동적 지도를 위한 스크립트 동적 로드

안녕하세요.
var map = new kakao.maps.Map(container, options) 를 통해 맵을 생성하고 있습니다.
그런데 프로젝트의 특성상 맵이 보여지는 부분에는 스크립트를 동적으로 호출해야 하는 특이점이 있어서
$.getScript()를 통해서 maps/sdk.js를 미리 호출한 뒤, kakao.maps.load()를 통해 StaticMap을 생성하고 있는데요.
StaticMap이 아닌 일반 Map은 위 방식대로 스크립트를 미리 호출하려고 하니 자꾸만 오류가 납니다.

혹시 Map()역시 정적 맵처럼 미리 호출하는 방법은 없나요…?

자답입니다.
검색을 하다보니, 어떤분께서 setTimeout()과 관련된 내용을 작성 해주셨네요.

맵 내에서 kakao.maps.Map() 뿐 아니라 kakao.maps.services.Geocoder()역시 사용해야 했는데
$.getScript()로 스크립트 호출 후 setTimeout() 내에서 작업했더니 동적 지도 역시 정상적으로 출력됩니다.

혹여 같은 불편을 겪는 분들을 위해 작성해둡니다.
감사합니다.

2개의 좋아요

setTimeout은 살짝 위험한 코드입니다.
만약이라도 스크립트 로딩이 Timeout으로 설정한 딜레이 시간보다 더 늦어지게 되면 문제가 될 수 있습니다.

다음 답변을 참고해 주세요.