네이버 지도 api 사용기1(feat. 초기 설정)

Bettor·2024년 5월 29일
0

Android

목록 보기
1/3

https://github.com/navermaps/android-map-sdk?tab=readme-ov-file

공식문서는 역시 최고의 선생님 위의 사이트에 가면 데모 프로젝트, 가이드, API 레퍼런스, changelog를 확인할 수 있다.

1. 의존성 추가

1. settings.gradle에 maven

네이버 지도 SDK는 https://repository.map.naver.com/archive/maven Maven 저장소에서 배포됩니다. 루트 프로젝트의 build.gradle에 저장소 설정을 추가해야하는데 settings.gradle에 해줘야 했다.

사진을 보면 pluginManagement와 depedencyResolutionManagement가 있는데 하다보니까 밑에 있는게 맞는 것 같아서 밑에다 넣어주었다.

2. build.gradle에 네이버 지도 SDK에 대한 의존성을 선언

요건 너무 쉽지

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

2. 클라이언트 ID 지정하는 2가지 방법

1. AndroidManifest

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

이것도 넘 쉽지? 근데 실수했었던 부분이 name 부분의 CLIENT_ID에 내 id값을 넣어버렸었음. 결론 : value에 ""안에만 id값을 넣어주면 됨.

2. API를 호출하고 지정하기

매니페스트를 수정하지 않고 api를 호출해 클라이언트 id를 지정하는 방법이다. 처음엔 뭣도 모르고 Acitvity의 onCreate()에 넣었는데 Application에 넣으래서 만들었다.
이런식으로 새로 만들어주면 됨.
처음엔 뭣도 모르고 매니페스트에도 해줘가지고 난 두 곳에서 클라이언트 id를 지정하고 있었던 것이다. 1번 방법보다 2번이 깔끔해 보여서 테스트 프로젝트에서는 2번을 채택했다.
근데 이거해서 오류 안뜨게 하려면 꼭 이걸 해줘야 한다. Mainfest에서 해줘야 함.

3. 버려진 코드들


다른 블로그를 참고하면서 테스트 프로젝트를 진행 중이였는데 공식문서도 아니다 보니 사용하는 api 버전도 최신께 아니고, maven url도 잘못 되어 있었다. 그러면서 생기는 에러들을 돌려막기하려고 쓰던 코드들인 것 같다. 가장 큰 문제는 추후에 다룰 fusedlocationsource 버전과 쓰고 있던 네이버 api 버전이랑 호환이 안되서 에러가 계속 발생했던 것 같아서 네이버를 최신으로 올려줘서 해결이 되었고 위의 코드들은 삭제 되었다.

4. uses-permission: 요거는 fusedlocationsource를 사용하기 위함.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

추후에 fusedlocation을 다루길 바라며 남겼다. 다음 포스트는 레이아웃과 액티비티 코드를 다룰 것 같다. 지금 안 다뤄도 다들 쉽게 공식문서나 블로그 보고 찾아서 할 것 같아서 남겼다.

  1. 공식문서 순차적으로 천천히 보고 따라 쳐보기
  2. 블로그는 그저 Ref일뿐, 맹신 금지

0개의 댓글