카카오맵 API / ReferenceError: kakao is not defined / 에러

Yunsung Lee·2024년 12월 16일
1

지도 API를 제외한 다른 기능들을 먼저 구현했다. 기본적인 틀은 잡았다고 생각해서, 이제 카카오맵 API를 연결해보려고 했다. 일단 기본적으로 지도를 클라이언트 페이지에 로드하는 것이다.

카카오 지도 Web API 가이드

여기에 들어가서 키를 발급받고, 사이트 도메인도 등록했다.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8"/>
	<title>Kakao 지도 시작하기</title>
</head>
<body>
	<div id="map" style="width:500px;height:400px;"></div>
	<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다."></script>
	<script>
		var container = document.getElementById('map');
		var options = {
			center: new kakao.maps.LatLng(33.450701, 126.570667),
			level: 3
		};

		var map = new kakao.maps.Map(container, options);
	</script>
</body>
</html>

그리고 이 코드를 입력하고 서버를 띄워서 확인했는데 계속 ReferenceError: kakao is not defined 이 에러가 뜨는 것이다. 그래서 에러코드를 구글링하며 뭐가 문제인지 거의 모든 글을 읽어봤다.

몇 시간 정도 똑같은 글을 읽으니 뭐가 뭔지 정리도 잘 안되는 지경이었다.

대표적인 해결 방법을 정리해봤다.

  • 솔루션 1 : <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다."></script> 이 스크립트 태그를 <head> 태그 안으로 옮긴다.

  • 솔루션 2 : src="https://dapi.kakao.com/v2/maps/sdk.js?appkey=발급받은 APP KEY를 넣으시면 됩니다." 이 코드처럼 https://를 추가한다.

  • 솔루션 3 : APP KEY 자리에 JavaScript 키가 아닌 다른 키가 들어있는지 확인한다. (이걸 실수했다면 필자의 블로그까지 방문하지는 않았을 것이다)

  • 솔루션 4 : 사이트 도메인을 제대로 추가했는지 확인한다. (이 부분도 놓칠 수 없는 부분이다. 이것까지 체크했는데도 안되기에 여기까지 온 것이라고 생각한다)


필자도 위 4가지를 전부 체크했음에도 계속 같은 에러가 반복되었다. 그런데 정말 멍청하게도 앱 권한 신청을 하지 않아서였다.

필자는 앱 키를 발급하면 자동적으로 모든 권한을 사용할 수 있을 것으로 생각했다. 하지만 따로 신청을 해야하는 것이랍니다.....

2개의 댓글

comment-user-thumbnail
2025년 7월 6일

감사합니다!

답글 달기
comment-user-thumbnail
2025년 9월 20일

감사합니다! 덕분에 저도 같은문제였는대 해결했습니다ㅎㅎ

답글 달기