iOS/개념 & 개발

[iOS/Swift] 네이버 지도(Maps) 사용하기

유정주 2022. 1. 11. 00:10
반응형

안녕하세요. 개발하는 정주입니다.

 

오늘은 대한민국 대표 지도인 네이버 지도에 대해 포스팅하려고 합니다.

 


목차


    지원 OS 버전

    네이버 지도 SDK는 iOS 버전 9 이상에서 사용할 수 있다고 합니다.

    요즘엔 iOS 9 미만을 사용하는 경우는 없지만 혹시 몰라 기재합니다.

     


    클라이언트 ID 발급

    네이버 지도 SDK API를 사용하기 위해서는 애플리케이션을 등록하여 클라이언트 ID를 발급받아야 합니다.

     

    네이버 지도 SDK 위치

    네이버 클라우드 사이트(https://www.ncloud.com)에 접속하여 회원가입, 로그인을 합니다.

    로그인 후 콘솔에 들어갑니다.

     

    네이버 지도는 Products & Services에서 AI-Application Service 하위의 AI·NAVER API에 포함되어 있습니다.

    해당 API를 선택합니다.

     

    Application 등록

    이제 Application을 등록해야 합니다.

     

    파란색 Application 등록 버튼을 눌러주세요. Bundle Id 등 앱 등록에 필요한 정보를 입력하고 완료를 누릅니다.

     

    신청 서비스는 Mobile Dynamic Map을 선택해 주세요.

     

    앱 등록이 완료되면 위 사진처럼 등록 정보가 나옵니다. 

     

    빨간색으로 표시해둔 인증 정보를 클릭하면 클라이언트 ID를 볼 수 있습니다. 

     

     

    두 번째 사진에 나와있는 Client ID를 복사해 주세요.

     


    클라이언트 ID 등록

     

    발급받은 클라이언트 ID를 SDK에 지정하면 지도 API를 사용할 수 있습니다.

    클라이언트 ID는 두 가지 방식으로 지정할 수 있습니다.

     

    info.plist에서 지정

    info.plist에 NMFClientId 키를 등록하고 Value에 위에서 복사한 클라이언트 Id를 넣으면 끝입니다.

     

    AppDelegate에서 지정

    * NMFAuthManager를 이용한 코드는 아래 과정을 진행한 후 지정해 주세요.

     

    AppDelegate의 func application(_ application:, didFinishLaunchingWithOptions:) 내에서 NMFAuthManager.clientId에 클라이언트 Id를 직접 설정할 수 있습니다.

    NMFAuthManager는 싱글톤 클래스이므로 shared를 호출해 인스턴스를 얻어와야 합니다.

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
        NMFAuthManager.shared().clientId = "YOUR_CLIENT_ID_HERE"
    
        return true
    
    }

     


    의존성 추가 - cocoapods

    네이버 지도 SDK는 cocoapods를 통해 배포됩니다.

     

    기본적인 CocoaPods 사용법은 아래 포스팅을 참고해 주세요.

    https://jeong9216.tistory.com/197

     

     

    대용량 파일을 받기 위해 필요한 git-lfs이 설치되어 있지 않다면 아래 명령어로 설치해 주세요.

    brew install git-lfs

     

     

    cocoapod 배포

    프로젝트 root 경로에서 아래 명령어로 cocoapod 초기화를 해줍니다.

    pod init

     

    Podfile에 pod 'NMapsMap' 코드를 넣어주세요.

     

    pod install 명령어를  통해 설치를 해줍니다.

     


    네이버 지도 표시하기

    네이버 지도를 표시하는 것은 어렵지 않습니다. 아래 코드를 viewDidLoad()에 넣어주면 됩니다.

    let mapView = NMFMapView(frame: view.frame)
    view.addSubview(mapView)

     

     

    그리고 실행을 해보면 네이버 지도가 보입니다.

     

    감사합니다!


    참조

    https://kiljh.medium.com/ios-에서-네이버-지도-띄우는-방법-ad589928a66b

    https://guide.ncloud-docs.com/docs/naveropenapiv3-maps-ios-sdk-v3-start

    https://designdepot.tistory.com/209


    아직은 초보 개발자입니다.

    더 효율적인 코드 훈수 환영합니다!

    공감 댓글 부탁드립니다.

     

     

     

    반응형