vue 개발 시작한 지 얼마 안된 초보입니다.
vue.js에서 카카오맵 api 이용해서 화면에 지도 띄우려면 어떻게 해야할까요?
구글링 여기저기 해봤는데, vue로 카카오맵 api 연동시켜서 지도 띄웠다는 글도 거의 없어서 개발에 난항을 겪고 있습니다 ㅠ
.vue에서 카카오맵 api를 연동하려면 어떻게해야할까요
lea.ju
11월 28, 2019, 9:52오전
#2
가장 간단하게는 index.html에 script를 고정으로 넣어 로드 후 mounted 시점에 map을 생성하는 방법이 있습니다.
또 다른 방법으로는 링크에 있는 다른 질문자분의 해결 방법도 참고해주세요.
새로 페이지를 렌더링 할 때 기존 맵의 DOM Element가 body에서 제거되어있지만, 전역 스코프의 daum 객체가 맵 관련 리소스를 참조하고 있어 리소스가 해제되지 않는 것으로 보입니다. 이 때문에 다시 렌더링을 하지 않으면 지도가 보이지 않고, 다시 렌더링하면 지도가 두겹으로 생성됩니다. 이를 해결하기 위해서, 전역 스코프에 기존에 생성된 map을 기억해두고, 페이지를 새로 렌더링 할 때 새로이 생성되는 Element를 기존 map의 Element로 바꿔치기 할 수 있습니다. 이 외에도 다음 맵이 SPA 친화적인 라이브러리가 아니다보니 스크립트 비동기 로딩이나 변수 스코프의 문제 등 여러 tricky한 문제가 있었습니다. vuejs용 코드를 첨부하니 같은 문제를 겪는 분들은 참고해보실 수 있겠습니다. 맵 서비스 모듈 마커 클러스터, 마커 API 래핑 스크립트 동적으로 로드 렌더링시 기존 생성된 맵 Element 재사용 import loadScriptOnce from…
1개의 좋아요