반응형
https://zeakd.github.io/react-naver-maps/guides/quickstart/
https://navermaps.github.io/maps.js.ncp/docs/index.html
해당 부분을 많이 참고하면 react 에 쉽게 적용 가능하십니다
우선 저는 Header 에 링크로 걸어 주었습니다.
<Route path='/map_page' element={<MapPage />} />
url 로 이동 합니다
위의 공식 문서를 읽어 보면
import { NaverMapsProvider } from 'react-naver-maps';
이걸 사용해야합니다.
https://npm.io/package/react-naver-maps
npm i react-naver-maps
설치해주면 됩니다.
NavermapsProvider 요걸 어디다 적용하냐 ?
기본 페이지에서 사용할꺼면 index.js 에다가 해도 되지만
저는 따로 페이지를 만들어서 하기 때문
MapPage.js
import React from 'react'
import MapNavigation from './MapNavigation'
import GlobalCSS from '../../Style/GlobalCSS'
import NaverMapContainer from './NaverMapContainer'
import { NavermapsProvider } from 'react-naver-maps';
// css 초기화 ! Map 페이지만 적용
//https://zeakd.github.io/react-naver-maps/guides/quickstart/
//https://navermaps.github.io/maps.js.ncp/
//https://navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html
//https://kwanghyuk.tistory.com/201
const MapPage = () => {
return (
<>
<NaverMapsProvider
ncpClientId='MY_NAVERMAPS_CLIENT_ID'
<GlobalCSS />
<MapNavigation />
<NaverMapContainer />
</NavermapsProvider>
</>
)
}
export default MapPage
<NaverMapsProvider
ncpClientId='MY_NAVERMAPS_CLIENT_ID'
아 요거는 네이버 클라우드 개발자 페이지에 들어가야 합니다.
네이버 개발자 페이지에 들어가서
콘솔 창을 띄웁니다.
https://console.ncloud.com/naver-service/application
console > service > AI. NAVER API 로 들어가면
application 등록 버튼을 클릭해서
이와 같이 생성이 되고 인증 정보에서 ID 값을 가져 오면 됩니다.
저는 맵 구성을
NaverMapContainer
import React from 'react'
import MyMap from './NaverMap/MyMap'
import { Container as MapDiv } from 'react-naver-maps'
const NaverMapContainer = () => {
return (
<MapDiv style={{ width: '100%', height: '100%', marginTop: '-30px' }}>
<MyMap />
</MapDiv>
)
}
export default NaverMapContainer
MyMap
import React, { useEffect } from 'react'
import { Container as MapDiv, NaverMap, Marker, useNavermaps } from 'react-naver-maps'
//npm install react-naver-maps
//https://colinch4.github.io/2021-06-07/navermap/
//https://navermaps.github.io/maps.js.ncp/docs/tutorial-2-Getting-Started.html
const MyMap = () => {
const navermaps = useNavermaps()
return (
<NaverMap
defaultCenter={new navermaps.LatLng(37.3595704, 127.105399)}
defaultZoom={10}
>
<Marker
defaultPosition={new navermaps.LatLng(37.3595704, 127.105399)}
/>
</NaverMap>
)
}
export default MyMap;
이와 같이 하였습니다.
이후 예시를 보며 커스텀이 가능합니다.
반응형
'Web Dev > react.js' 카테고리의 다른 글
React - Redux Toolkit 사용하여 Login 정보 store에 저장해서 필요할 때 사용하는 방법 ! (1) | 2024.01.27 |
---|---|
React.js 파일 업로드 풀스택으로 구성하는 방법 여기서 확인하세요 ! (2) | 2023.10.12 |
React 함수형 컴포넌트 생성 단축키 rafce , rfce + Extension (0) | 2023.10.12 |
useCallback()을 사용하는 것은 큰 의미가 없거나 오히려 손해인 경우도 있습니다 (0) | 2023.09.25 |
블로그 맞춤 html-react-parser 라이브러리 사용법 ! 예시 포함 (0) | 2023.08.17 |
useOncCickOutside , useClickAway 실전에서 사용하기 (0) | 2023.08.08 |