안녕하세요 골드입니다.
NAVER CLOUD PLATFORM의 AI.NAVER API 중 Mobile Dynamic Map API 사용법에 대해서 글을 작성하도록 하겠습니다. 네이버 클라우드 플랫폼은 다양한 서비스를 제공하고 있습니다. Map API에도 다양한 서비스가 있습니다. 그 중 Mobile Map은 안드로이드나 IOS에서 개발할 때 사용할 수 있는 api이며, 비용은 무료입니다. 좋은 서비스라고 생각하는데 이런 서비스를 무료로 사용할 수 있다는 점은 정말 감사한 일입니다. 그럼 시작하겠습니다.
1. 네이버 클라우드 플랫폼 시작하기
먼저 네이버 클라우드 플랫폼에 가입해야 서비스를 사용할 수 있습니다. 네이버 클라우드 플랫폼에 가입해주세요. 가입이 완료되었다면 어떤 서비스를 사용할 것인지 설정한 후 어플리케이션 등록을 해야 합니다. 여러 서비스가 있고 금전적인 부분과 관련이 있으니 잘 알아보시고 사용할 것을 권장합니다. 어플리케이션 등록을 클릭합니다.
어플리케이션을 등록한 후 사용할 서비스를 선택합니다. 저는 안드로이드에서 개발이 가능한 Maps에 Mobile Dynamic Map을 사용할 것입니다. 글을 작성하는 시점에 해당 API는 한도가 1억이며, 무료라고 나와있습니다.
Application 등록을 누른 후에 Mobile Dynamic Map을 선택합니다. 다른 사항에 대해서도 여러분의 상황에 맞게 선택한 후 Application 등록을 완료합니다. 미리 생성한 안드로이드 프로젝트가 있다면 앱 패키지 이름을 알맞게 기입합니다. 만약 없더라도 어플리케이션을 등록한 후에 추가나 변경이 가능합니다.
완료가 되었다면 console 창에 등록한 어플리케이션에 대한 정보가 나타납니다. 안드로이드에서 사용하기 위해서는 인증 정보에 있는 Client ID가 필요합니다. 클라이언트 아이디를 복사합니다. 옆에 있는 아이콘이 복사하기 버튼입니다.
2. 안드로이드 프로젝트 생성
네이버 클라우드 플랫폼에 Application을 성공적으로 등록했다면 안드로이드 프로젝트를 생성합니다. 모바일 맵을 사용하기 위해서 앱에 의존성을 추가해야 합니다. 먼저 저장소에 관한 설정을 추가하기 위해 루트 프로젝트의 build.gradle에 권한을 추가합니다.
다음으로 앱 모듈의 build.gradle에 네이버 지도 SDK에 대한 의존성을 추가합니다. 이 부분은 다양한 앱을 만들어봤다면 익숙한 부분입니다.
추가를 완료한 후 Sync Now를 클릭합니다. 오류가 나타나지 않았다면 정상적으로 추가가 완료된 것입니다. 다음은 AndroidManifest.xml 파일에 인증 정보를 추가해야 합니다. 여기서 아까 복사한 Client ID가 사용됩니다.
AndroidManifest.xml 파일의 <application> 태그 안에 <meta-data>를 삽입합니다. android:name을 "com.naver.maps.map.CLIENT_ID"로 설정하고 android:value에 YOUR_CLIENT_ID_HERE 부분에 여러분이 등록한 Application의 인증 정보에서 복사한 Client ID를 삽입합니다.
activity_main.xml 파일로 들어가서 <fragment>를 추가합니다. 새로 생성한 프로젝트라면 기존에 있던 TextView는 지우고 <fragment>를 작성하면 됩니다.
이제 빌드하고 플레이를 해보도록 하겠습니다.
네이버 맵이 정상적으로 작동하는 모습을 볼 수 있습니다.
만약 에러가 발생한다면 에러 코드를 확인해주세요.
401 |
- 잘못된 클라이언트 ID를 지정함 - 콘솔에서 앱 패키지 이름을 잘못 등록함 |
|
429 |
- 콘솔에서 Maps 서비스를 선택하지 않음 - 사용 한도가 초과됨 |
|
800 |
클라이언트 ID를 지정하지 않음 그 외의 원인으로 인증에 실패하면 AuthFailedException이 발생합니다. 공통 에러 코드는 에러 코드 목록을 참고하세요. |
여기까지 골드였습니다.
감사합니다.
참고자료 : https://docs.ncloud.com/ko/naveropenapi_v3/maps/android-sdk/v3/start.html
더욱 자세한 내용은 이곳에서 확인해주세요.
'Mobile > Android(Kotlin)' 카테고리의 다른 글
[Android/Kotlin] 서울시 공공데이터 사용법 (0) | 2020.12.07 |
---|---|
[Android/Kotlin] Retrofit2 활용하기 (Kotlin data class File from JSON) (8) | 2020.11.26 |
[Android/Kotlin] Google Map API(구글 지도) 사용하기 (0) | 2020.09.01 |
[Android/Kotlin] Insert images into SQLite(SQLite에 이미지 저장) (0) | 2020.08.19 |
[Android/Kotlin] Camera and photo library (2) | 2020.08.18 |