Software Maestro 해커톤 (2) - 어른이들(카카오 지도 API / 카카오 로컬 API / 결과물)

김정욱·2021년 5월 14일
2

SoftwareMaestro

목록 보기
5/6
post-thumbnail

카카오 지도 API 사용 (React)

[ 준비하기 ]

[ 프로젝트 적용 - 지도(Map) ]

( 사용 순서 )

  • 지도를 그릴 dom을 선택
  • 지도를 그리는데 필요한 option 설정
  • 지도(map) 객체 만들기

( 응용 코드 )

  • mapstate로 관리
    • 렌더링 될 때 마다 맵을 그리는 것비효율적
    • 뒤에 marker를 그릴 때 map을 사용해야 함
  • 빨간색 부분기본적으로 필요한 코드
  • navigator.geolocation현재위치위/경도로 가져오는 JS의 라이브러리
  • map을 렌더링 할 때 짤리는 현상
    • map이 먼저 렌더링 된 후 스타일(크기)가 적용될 때 나타난다고 함
    • 이 문제를 해결하기 위해 setTimeoutmap.relayout()을 사용해서 다시 그려주면 정상 작동
    • center우리가 지정한 곳에 두기 위해 저장해뒀다가 다시 map.setCenter()로 지정

[ 프로젝트 적용 - 마커(Marker) ]

( 사용 순서 )


( 응용 코드 )

  • 새로운 마커들지도표시하기 위해 기존 마커삭제
    • 현재 사용중인 마커들을 useMarkers라는 State로 관리
    • useMarkersmap으로 순회하며 marker.setMap(null) 설정
  • 마커 생성
    • new kakao.map.LatLng(위도 / 경도) 를 사용해서 마커의 position 설정
    • 미리 만들어 두어서 State로 관리하던 map과 방금 만든 position을 이용해 마커 생성
  • 표시한 마커들을 모두 보여주도록 map level / center 자동 설정
    • bounds를 사용해서 모든 마커들의 위치extend시킨 후 자동으로 보기 좋은 map levelcenter를 지정
    • 우리 프로젝트현재위치 / 시,구에 있는 응급 의료기관marking하기 때문에 이 기능이 유용!
  • 특정 필드 삽입 (marker.hpid)
    • 우리는 특정 마커클릭했을 때 해당 의료기관의 내용을 보여주는 모달을 띄워야 했음
    • 따라서 각 마커의료기관의 식별자hpid 필드를 삽입해서 나중에 이 값을 extract해서 사용

카카오 로컬 API 사용 (React)

[ 준비하기 ]

  • kakao REST API KEY 가져오기
  • Kakao REST API키는 굳이 노출해서 좋을게 없으니 config 폴더를 만들어서 관리

(/src/config/kakao.js)

[ 프로젝트 적용 ]

  • (/src/api/kakaoAPI.js)
    • REST API KEYHTTP request 헤더 Authorization 필드에 삽입
      ( Authorization : KakaoAK [REST_API_KEY] )
    • 카카오 로컬 API중 우리가 사용할 주소검색 api url경로를 입력
      ( https://dapi/kakao.com/v2/local/search/address.json?query=[주소] )


  • 결과 확인

결과물

profile
Developer & PhotoGrapher

0개의 댓글