λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Kotlin

[Android/Kotlin] 넀이버 지도 API 연동

by naahy 2024. 2. 6.

πŸ“Œ Application μ‚¬μš© κ°€μ΄λ“œ: https://guide.ncloud-docs.com/docs/ko/naveropenapiv3-application

πŸ“Œ 넀이버 지도 μ•ˆλ“œλ‘œμ΄λ“œ SDK: https://navermaps.github.io/android-map-sdk/guide-ko/1.html

πŸ“Œ 넀이버 지도 검색 참고사항: https://developers.naver.com/docs/serviceapi/search/local/local.md#%EC%B0%B8%EA%B3%A0-%EC%82%AC%ED%95%AD

 

초기 μ„€μ • (ν΄λΌμ΄μ–ΈνŠΈ 아이디 λ°œκΈ‰)

1. μ½˜μ†”λ‘œ 이동

https://console.ncloud.com/naver-service/application

 

2. 쒌츑 μƒλ‹¨μ˜ Application 등둝 λ²„νŠΌ 클릭

 

3. Maps μ„œλΉ„μŠ€ 쀑 μ›ν•˜λŠ” λ‚΄μš© 선택

 

4. ν•˜λ‹¨ μ„œλΉ„μŠ€ ν™˜κ²½ λ“±λ‘μ—μ„œ Android μ•± νŒ¨ν‚€μ§€ 이름에 ν˜„μž¬ μž‘μ—… 쀑인 ν”„λ‘œμ νŠΈ νŒ¨ν‚€μ§€λͺ… μž…λ ₯

 

5. 등둝 λ²„νŠΌ 클릭

 

6. 인증 μ •λ³΄μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ 아이디와 ν΄λΌμ΄μ–ΈνŠΈ μ‹œν¬λ¦Ώ 확인 κ°€λŠ₯

 

 

μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ μ„€μ •

1. μ˜μ‘΄μ„± μΆ”κ°€

넀이버 지도 SDKλŠ” https://naver.jfrog.io/artifactory/maven/ Maven μ €μž₯μ†Œμ—μ„œ 배포

settings.gradle νŒŒμΌμ— μ €μž₯μ†Œ μ„€μ • μΆ”κ°€

❗넀이버 지도 SDK μ•ˆλ“œλ‘œμ΄λ“œ λ¬Έμ„œ λ‚΄μ—μ„œ 루트 ν”„λ‘œμ νŠΈμ˜ build.gradle에 μ €μž₯μ†Œ 섀정을 μΆ”κ°€ν•˜λΌκ³  ν–ˆλŠ”λ°, μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ Bumblebee 버전 μ΄μƒμ—μ„œλŠ” settings.gradle νŒŒμΌμ— μ €μž₯μ†Œ 섀정을 μΆ”κ°€ν•΄μ•Ό ν•œλ‹€.

πŸ”— μ•ˆλ“œλ‘œμ΄λ“œ Gradle ν”ŒλŸ¬κ·ΈμΈ 7.1.0 κ΄€λ ¨ λ¬Έμ„œ: https://developer.android.com/studio/past-releases/past-agp-releases/agp-7-1-0-release-notes?hl=ko#settings-gradle
repositories {
    google()
    mavenCentral()
    maven("https://naver.jfrog.io/artifactory/maven/")
}

 

2. ν΄λΌμ΄μ–ΈνŠΈ ID 지정

AndroidManifest.xml 파일 λ‚΄ <meta-data>둜 ν΄λΌμ΄μ–ΈνŠΈ ID 지정

μ΄λ ‡κ²Œ ν•˜λ©΄ 넀이버 지도λ₯Ό ν˜ΈμΆœν•  λ•Œλ§ˆλ‹€ ν΄λΌμ΄μ–ΈνŠΈ IDλ₯Ό μž…λ ₯ν•  ν•„μš”κ°€ μ—†λ‹€.

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

 

지도 ν‘œμ‹œ

<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" />

λŒ“κΈ€