[iOS] KakaoMapsSDK v.2 카카오맵API (1) - 지도 띄우기

Madeline👩🏻‍💻·2024년 3월 15일
2

iOS study

목록 보기
40/61
post-thumbnail

놀랍게도 이 세상에 카카오맵 버전2에 대한 글이 없더라. 블로그와 공식문서를 번갈아가면서 공부하고 있었는데, 왜 SPM이 없다고 하는지, 왜 ObjectC를 쓰는지 의문이었는데, 버전이 달라서 그랬나보다.
(내피셜) 작년 말쯤 버전 2가 나왔는지, 내가 최신 기술을 발빠르게 적용해야 하는 사람이구나를 체감한다.

우선 개발 환경은 구축해두었다. 공식문서를 따라가면 어렵지 않았다. 따라서 환경 구축 부분은 간단하게 정리해놓겠다.

1. 🏞️ KakaoMapsSDK 설치

https://apis.map.kakao.com/ios_v2/docs/getting-started/gettingstarted/

iOS 13 이상부터 사용할 수 있고, Cocoapods, SPM을 통해 설치 가능하다.
SPM을 통해 패키지를 추가해두었고,

import KakaoMapsSDK

로 시작하면 되겠다.

2. 🔑 키 발급

https://apis.map.kakao.com/ios_v2/docs/getting-started/basics/02_auth/

KakaoDeveloper에서 앱 등록 후 키를 발급받는다.

SDKInitializer.InitSDK("YOUR_KAKAO_APP_KEY")

이 함수를 사용해서 추가하라는데, 어디에 하면 되냐면,

다음과 같이 AppDelegate에서 사용하면 된다.
키는 꼭 gitignore 처리해주도록 하자!

3. 🗺️ KaKaoMapsSDK 구조

  • 엔진부 // 앱 인터페이스
    • KMViewContainer(지도가 그려지는 뷰를 제공)
    • KMController(엔진-앱 연결, 엔진 상태관리)

KMViewContainer

  • 지도 ViewBase영역 제공

API에는 ViewBase 서브클래스로 KakaoMap 클래스를 제공합니다. KakaoMap은 지도, 스카이뷰 및 3D스카이뷰를 그릴 수 있습니다. 그리고자 하는 지도 종류에 따라 적절한 viewInfo를 이용하여 ViewBase를 생성할 수 있고, 필요에 따라 이미 생성된 ViewBase의 viewInfo를 교체하여 다른 종류의 지도로 전환할 수도 있습니다.

https://apis.map.kakao.com/ios_v2/docs/getting-started/basics/01_view/

방법은 다양하겠지만, 나의 경우에는 BaseMapViewController에 MapControllerDelegate를 채택하게 해서 KMViewContainer와 KMController를 구현해두고,
MapViewController에서 BaseMapViewController를 채택하고, 위치정보를 대입하여 구현해보았다.

여기부터는 코드로 구현해야 하는데,
https://apis.map.kakao.com/ios_v2/sample/
공식 문서에 샘플 코드도 다운받을 수 있다.

이제부터는 지도에 Poi, Camera, Label, ...을 적용해보자
Poi: https://blog.naver.com/naver_map/10115403072

profile
🍎 Apple Developer Academy@POSTECH 2기, 🍀 SeSAC iOS 4기

0개의 댓글