본문 바로가기
프로그래밍

코로나앱 만들기 - 네이버 지도를 활용한 예방접종센터 (2)

by 두꺼비사장 2021. 6. 27.
728x90

네이버맵 띄우기

1. New Project 생성 하기

Empty Activity 생성 후 Applicaton Name은 navermap, package name은 네이버 사이트에 등록했던 Android 앱 패키지 이름을 그대로 적는다.
네이버 사이트에 등록했던 Android 패키키 이름 그대로 적기

2. build.gradle에 네이버맵 사용 할 수 있도록 환경 구축

naver map sdk 최신 버전으로 build gradle(Module)에 dependnecy 추가 합니다.

build.gradle(Module) 에 naver map 추가 하기
build gradle(Project)에도 naver maven 추가 합니다. 혹시 build error가 발생 하면 jcenter()도 주석 처리 하세요.

 

3. 네이버맵을 띄울 수 있도록 layout 변경

activity_main.xml에 자동으로 만들어 지는 TextView를 삭제 하고, map이 출력 될 수 있도록 naver map fragment를 layout에 추가 합니다.

Text view를 지우고 map을 띄우기 위한 fragment 추가

4. manifest 파일에서 권한 설정 및 client ID 설정 하기

uses-permission 에 INTERNET 및 LOCATION 권한을 추가 합니다.

네이버맵 활용하여 앱 만들기 - (1) 에서 네이버 사이트에 등록했던 client id를 value에 추가 합니다.

permission 추가 하고, 네이버 사이트에서 등록했던 아래 이미지에서 client ID를 meta-data안에 그대로 적었다.

 

이미 네이버 사이트에서 생성 했던 Client ID를 그대로 활용한다.

5. MainActivity 수정

아래와 같이 layout file에서 만들었던 navermap 객체를 가지고 와서 mapFragment를 생성 합니다. MapFragment mapFragment = (MapFragment)getSupportFragmentManager().findFragmentById(R.id.map);

이후 getMapAsync api를 통하여 지도 data를 불러 오면 되는데, 이 api는 callback을 지정 하게 됩니다.

onMapReadyCallback을 activity에 구현하고 map이 ready되면 onMapReady callback이 호출하게 하면 됩니다.

 

아래 빨강 부분들을 MainActivity에 추가 합니다.

6. build 해서 네이버맵이 뜨는지 확인 하기

 

현재까지 build gradle 및 manifest file, layout을 수정 하였다. 기본 setup이 완료 되었으니 ctrl+F9를 눌러서 빌드 해봅니다. 혹시 build시에 Manifest merger failed error가 발생 하면, gradle.properties에 아래 추가 합니다.

android.enableJetifier=true

error 발생 시 추가

안드로이드 어플리케이션에 아래와 같이 네이버맵이 정상적으로 launch 됩니다.

네이버맵이 정상적으로 launch 된 화면