kakao map api ์ํ์ js์ฝ๋๊ฐ ์์ง๋ง react๋ก ์ด์ฃผ์ด์ง์ง ์์๊ณ ๋ฐ๋ณต์ ์ค์ด๊ณ ์ ์ ์ํ์์ต๋๋ค.
์ฌ์ฉํ์๋ฉด ๊นํ๋ธ์ โญ ํ ๋ฒ๋ง ๋๋ฌ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!!
์ค๋ฅ๊ฐ ์๊ฑฐ๋ ๋ฌธ์ํ ๊ฒ ์์ผ๋ฉด Issues ํน์ ์ด๋ฉ์ผ๋ก ์ฐ๋ฝ ๋ถํ๋๋ฆฝ๋๋ค.
์์ ์ฝ๋ ์๋์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
https://github.com/hellojaehyeok/kakao-map-example
์นด์นด์ค๋งต api๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ค๋น๊ณผ์ ์ ๋๋ค.
- ์นด์นด์ค ๋๋ฒจ๋กํผ์ ์ ์ํ ํ ์ฐ์ธก ์๋จ ๋ด ์ดํ๋ฆฌ์ผ์ด์ ์ ํด๋ฆญํฉ๋๋ค.
-
"์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐํ๊ธฐ"๋ฅผ ๋๋ฌ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด์ค๋๋ค.
-
ํ๋ซํผ -> Web์์ kakaomap์ ์ฌ์ฉํ url์ ๋ฃ์ต๋๋ค.
- ์์ฝ์ ๋ณด -> JavaScript ํค๋ฅผ index.html์ ๋ฃ์ต๋๋ค.
ํ์ฌ์๋ ๊ธฐ๋ฅ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
์์ผ๋ก ๊ณ์ ์ถ๊ฐํ ์์ ์
๋๋ค.
- ์ผ๋ฐ์ง๋ / ์์ฑ์ง๋
- ๊ตํต์ ๋ณด / ์งํ์ ๋ณด / ์ง์ ํธ์ง๋
- ํ์ฌ์์น ํ ๊ธ
- ๋ง์ปค/ํด๋ฌ์คํฐ๋ฌ ํ ๊ธ
- ๋ก๋๋ทฐ ํ ๊ธ
- ๋งต ์ค์ฌ ์ขํ ์ ๋ณด ์ป์ด์ค๊ธฐ
npm i @hellojh/react-kakao-map
npm์ค์น ํ index.html์ apiํค๋ฅผ ๋ฃ์ต๋๋ค.
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey= -api key- &libraries=clusterer,services"></script>
์ด๋ฆ | ์ค๋ช |
---|---|
<KakaoMap /> |
kakao map์ ์คํ์ํค๋ ์ปดํฌ๋ํธ์ ๋๋ค. |
Key | Description | Type |
---|---|---|
mapType | ์ง๋ ํ์ ์ ์ ํฉ๋๋ค. | String |
overlayMapType | ์ง์ ์ค๋ฒ๋ ์ด ํ์ ์ ์ ํฉ๋๋ค. | String |
mapLevel | ๋งต ๋ ๋ฒจ์ ๋ฃ์ต๋๋ค. | Int |
mapCenter | ๋งต์ ์ค์ ์ขํ๋ฅผ ์ ํฉ๋๋ค. | Object |
isMyLocation | ํ์ฌ ์์น๋ก ์ด๋ํ ์ง ์ ํฉ๋๋ค. | Bool |
isMarker | ๋ง์ปค ํ ๊ธ ์ ๋ฌด์ ๋๋ค. | Bool |
makerOption | ๋ง์ปค ์ต์ ์ ๋๋ค. | Object |
clustererOption | ํด๋ฌ์คํฐ๋ฌ ์ต์ ์ ๋๋ค. | Object |
roadViewRef | ๋ก๋๋ทฐ ๋ ๋ ํ ๋์ useRef ์
๋๋ค. |
useRef |
roadBtnRef | ๋ก๋๋ทฐ ํ ๊ธ ํ ๋ฒํผ์ useRef ์
๋๋ค. |
useRef |
isRoadView | ๋ก๋๋ทฐ ํ ๊ธ์ ์ํ ๋ณ์์ ๋๋ค. | Bool |
idleMap | ๋งต ์ค์ฌ ์ขํ ํน์ ๋ ๋ฒจ์ด ๋ฐ๋ ๋ ์ ๋ณด๋ฅผ ์ป์ด์ค๋ ํจ์์ ๋๋ค. | Function |
1. normal -> ์ผ๋ฐ์ง๋
2. satellite -> ์์ฑ์ง๋
1. traffic -> ๊ตํต์ ๋ณด
2. terrain -> ์งํ์ ๋ณด
3. use_district -> ์ง์ ํธ์ง๋
์ต์ 1๋ถํฐ 14๊น์ง ์์ผ๋ฉฐ ์์์๋ก ์ค ์ธ๋ฉ๋๋ค.
lat์ lng์ ์๋์ ๊ฒฝ๋๋ฅผ ๋ฃ์ต๋๋ค.
๋ง์ปค ์ต์ ์ ๋๋ค.
* makerImg
์ด๋ฏธ์ง๊ฐ ์์๊ฒฝ์ฐ src์ ๋ฃ์ผ๋ฉฐ ๊ฐ๋ก, ์ธ๋ก ์ฌ์ด์ฆ๋ฅผ ์ง์ ํฉ๋๋ค.
* posArr
๋ง์ปค ์์น ๋ฐฐ์ด์ ๋ฃ์ต๋๋ค.
makerOption ์์ ์ฝ๋์ ๋๋ค.
{
makerImg:{
src:null,
width:0,
height:0,
},
posArr : [
{lat:37.499, lng:127.026},
{lat:37.499, lng:127.027},
]
}
ํด๋ฌ์คํฐ๋ฌ ์ต์ ์ ๋๋ค.
* disableClickZoom
ํด๋ฆญ ์ ์ค์ธ ์ ๋ฌด์
๋๋ค.
* onClickCenter
ํด๋ฆญ ์ ์ค์ ์ขํ๋ฅผ ๋ฐํํฉ๋๋ค.
* minLevel
ํด๋ฌ์คํฐ๋ฌ ์ต์ ๋ ๋ฒจ์
๋๋ค.
clustererOption ์์ ์ฝ๋์ ๋๋ค.
{
disableClickZoom:true,
onClickCenter:(e) => {console.log(e)},
minLevel:2,
}
๋ก๋๋ทฐ ํ ๊ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ธ๊ฐ๊ฐ ํ ์ธํธ์ ๋๋ค.