기록

androidStudio/java/naver map api 사용하기 본문

Moblie/Android

androidStudio/java/naver map api 사용하기

youngyin 2022. 1. 22. 12:00

1. naver map api 발급 받기

콘솔 Products & Services에서 AI-Application Service 하위의 AI·NAVER API를 선택

Application 등록을 선택하고 Maps 하위의 Mobile Dynamic Map을 체크

Android 앱 패키지 이름에 네이버 지도 SDK를 사용하고자 하는 앱의 패키지명을 추가하고 등록

등록한 애플리케이션의 인증 정보를 선택해 Client ID를 확인

 

2. 안드로이드 스튜디오에 추가하기

2-1. 의존성 추가

가이드에서는 build.gradle(project) maven~ 코드를 추가하라고 되어있지만 해당 프로젝트에서는 build.gradle(project)에 allproject가 없었다. 그래서 settings.gradle에 해당 코드를 넣었다.

// settings.gradle
dependencyResolutionManagement {
    ...
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon

        maven {
            url 'https://naver.jfrog.io/artifactory/maven/'
        }
    }
}

// build.gradle(:app)
dependencies {
    // 네이버 지도 SDK
    implementation 'com.naver.maps:map-sdk:3.12.0'
}

2-2. 클라이언트 ID 지정

가이드에서는 AndroidManifest.xml에 키를 저장하도록 하고 있으나, 다른 방법을 사용했다.

해당 프로젝트에서는 여러 api를 사용해야 했기에, 한꺼번에 관리하고 싶었다.

그래서 keys 라는 파일을 따로 만들어 키값을 넣어두고, .gitignore을 이용해 github에 파일이 올라가지 않도록 관리한다.

// values/keys.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="NAVER_CLIENT_ID">my_client_id</string>
</resources>

// MapActivity.java
public class MapActivity extends AppCompatActivity {
    @Override
    public void onCreate() {
        super.onCreate();
        
        // naver map
        String naver_client_id = getString(R.string.NAVER_CLIENT_ID); // id 가져오기
        NaverMapSdk.getInstance(this).setClient( //id 등록
                new NaverMapSdk.NaverCloudPlatformClient(naver_client_id));
    }
}

2-3. 지도 표시

MapActivity에 지도를 띄운다.

// activity_map.xml
<fragment android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/map"
    android:name="com.naver.maps.map.MapFragment" />

결과

지도 띄우기

참고자료

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

 

Android 시작 가이드 - Mobile Dynamic Map (v3)

 

guide.ncloud-docs.com

Comments