웹 개발/ReactJS

[ReactJS] 네이버, 카카오 지도 api 사용해 개발해보자 (1) - 지도 가져오기

ohbox 2021. 7. 22. 21:37
반응형

API 연습을 위해 네이버 지도를 사용하려 했으나
React에서는 라이브러리를 사용해야한다는 이야기에
카카오로 넘어갔다.
하지만 정리는 둘 다 하는걸로!


네이버 API 지도를 사용해보자


1) Naver cloud 플랫폼 계정을 생성하고 회원가입 & 로그인.

결제정보를 입력해야만 서비스를 사용할 수 있습니다.
유료 서비스가 아니면 요금이 부과되지 않아요!

2) console로 들어가 Products & services 에 들어간다.
3) AI·NAVER API 항목을 클릭하여 어플리케이션을 등록한다.

4)Service 선택에서 원하는 map을 선택하고 등록하면 끝!


코드 상에 적용해보자

react에서 naver map api를 사용하기 쉽게 도와주는 라이브러리를 사용한다.

yarn add react-naver-maps

* 다큐먼트

https://zeakd.github.io/react-naver-maps/#/React%20Naver%20Maps

React Naver Maps Style Guide

zeakd.github.io



카카오 API 지도를 사용해보자

api 사용하는 법은 아래의 다큐먼트에 자세히 소개되어 있다.

* 다큐먼트
https://apis.map.kakao.com/web/documentation/


코드 상에서 적용해보자


1) react가 랜더링 되는 index.html에 아래의 코드를 추가해 javascript api를 불러온다.
여기서 주의해야할 점은 kakao develops 상에서의 내 어플리케이션의 앱 key와
스크립트 상의 api key가 같아야한다는 점!

 <script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=어플리케이션 앱 키"></script>

2) 지도를 그리기 위해 window 객체로부터 스크립트에서 불러온 kakao api를 가져온다.

 const { kakao } = window;

3) 지도를 그릴 컴포넌트 내에 map을 위치시키기 위한 공간을 생성한다.

<div id="map" style={{width:"500px", height:"400px"}}></div>

4) 렌더링 될 때 지도를 보여주기 위해 useEffect hook을 통해 미리 카카오 지도 객체를 만들어 준다.

마운트란
리액트에서 DOM 특정 영역에 component를 넣는 행위
useEffect(()=>{ var container = document.getElementById('map'); var options = { center: new kakao.maps.LatLng(37.365264512305174, 127.10676860117488), level: 3 }; var map = new kakao.maps.Map(container, options); }, [])

5) 위의 과정을 끝내고 웹을 실행하면 기본적인 지도를 볼 수 있다.

반응형