코드가 잘못된줄 알고 한참동안 헤맸다..
kakao developers에서 카카오맵 활성화를 꼭 해주자..! 다른 곳에서는 이런 정보가 없어서 몰랐다....
npm install kakao.maps.d.ts --save-dev
tsconfig.json
의 compilerOptions.types
속성에 패키지 추가 {
...,
"compilerOptions": {
...,
"types": [
...,
"kakao.maps.d.ts"
]
}
}
npm i react-kakao-maps
index.html
에 앱 키를 추가<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
</head>
<body>
<!-- Kakao Map API -->
<!-- <script
type="text/javascript"
src="//dapi.kakao.com/v2/maps/sdk.js?appkey=%VITE_KAKAOMAP_JAVASCRIPT_APP_KEY%&libraries=services,clusterer"
></script> -->
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
import { Map, MapMarker } from 'react-kakao-maps-sdk';
const KakaoMap = () => {
const s_lat = 37.55465000468857;
const s_lng = 126.97059787494679;
return (
<>
<Map center={{ lat: s_lat, lng: s_lng }} style={{ width: '100%', height: '360px' }}>
<MapMarker position={{ lat: s_lat, lng: s_lng }}></MapMarker>
</Map>
</>
);
};
export default KakaoMap;
import { useKakaoLoader as useKakaoLoaderOrigin } from 'react-kakao-maps-sdk';
export default function useKakaoLoader() {
useKakaoLoaderOrigin({
/**
* ※주의※ appkey의 경우 본인의 appkey를 사용하셔야 합니다.
* 해당 키는 docs를 위해 발급된 키 이므로, 임의로 사용하셔서는 안됩니다.
*
* @참고 https://apis.map.kakao.com/web/guide/
*/
appkey: import.meta.env.VITE_KAKAOMAP_JAVASCRIPT_APP_KEY,
libraries: ['clusterer', 'drawing', 'services'],
});
}
import { Map } from 'react-kakao-maps-sdk';
import * as styled from './KakaoMap.style';
import useKakaoLoader from './useKakaoLoader';
export default function BasicMap() {
useKakaoLoader();
return (
<styled.KakaoMapWrapper>
<Map // 지도를 표시할 Container
id="map"
center={{
// 지도의 중심좌표
lat: 33.450701,
lng: 126.570667,
}}
style={{
// 지도의 크기
width: '100%',
height: '100%',
}}
level={3} // 지도의 확대 레벨
/>
</styled.KakaoMapWrapper>
);
}
저 부분을 on으로 해 놔야 하는군요...저도 코드가 잘못된 줄 알고 한참 해맸는데 덕분에 해결 됐습니다! 감사합니다!