DoReMi

[Kotln] 네이버 지도 API 사용법 본문

Android/개념

[Kotln] 네이버 지도 API 사용법

도레미누 2023. 7. 26. 09:46

▶ Naver Map Api 사용법

공식 문서 - https://navermaps.github.io/android-map-sdk/guide-ko/1.html

- https://guide.ncloud-docs.com/docs/ko/naveropenapiv3-application

▷ 클라이언트 ID 생성하기

네이버 클라우드 플랫폼(https://console.ncloud.com/dashboard) - 회원가입/로그인 - Services - AI-NAVER API 클릭 - Application 등록 클릭하게되면 아래와 같은 화면이 나온다.

Naver Cloud Platform - Application 추가

사용할 Api인 Maps에서 필요한 기능 선택 - Android 앱 패키지 이름 입력 - (Web 서비스 URL도 입력하라하길래 네이버 주소 입력함) - 등록하게 되면 아래와 같은 화면이 나온다.

인증 정보 클릭 - Client ID 확인하기!


▷ 의존성 추가 (Anroid Studio)

공식 문서에서 보면 build.gradle(Project: ..) 파일에

// build.gradle(Project: ..)
allprojects {
    repositories {
        google()
        mavenCentral()
        maven("https://naver.jfrog.io/artifactory/maven/")
    }
}

이러한 코드를 작성하라고 말하는데 Project 수준의 build.gradle에 가보면 allprojects가 없을 것이다.

그리서 우리는 settings.gradle 파일에서 작성해야한다.

// settings.gradle
repositories {
        google()
        mavenCentral()
        maven {
            url "https://naver.jfrog.io/artifactory/maven/"
        }
    }

 

이후 build.gradle(Module : app)

dependencies {
    // 네이버 지도 SDK
    implementation("com.naver.maps:map-sdk:3.17.0")
}

코드를 추가해준다. 꼭 작성 후 우측 상단 Sync Now 클릭


▷ 클라이언드 ID 추가 (Android Studio)

AndroidManifest.xml 파일에서 다음과 같이 작성한다.

<manifest>
    <application>
        <meta-data
            android:name="com.naver.maps.map.CLIENT_ID"
            android:value="YOUR_CLIENT_ID_HERE" />
    </application>
</manifest>

만약 AndroidManifest.xml 에서 코드를 작성하기 싫다면 kt 파일에서 클라이언트 ID를 지정할 수 있다.

MainActivity.kt - onCreate 안에 다음과 같이 작성한다.

class YourApplication : Application() {
    fun onCreate() {
        super.onCreate()
        NaverMapSdk.getInstance(this).client =
                NaverMapSdk.NaverCloudPlatformClient("YOUR_CLIENT_ID_HERE")
    }
}

▷ 네이버 지도 사용하기 (Android Studio)

layout xml 파일에서 코드 작성

<androidx.fragment.app.FragmentContainerView
        android:id="@+id/map_fragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.naver.maps.map.MapFragment" />

AVD로 실행해서 네이버 지도가 잘 작동 되는지 확인!.