감자주먹밥

[Kotlin]KakaoMap SDK 사용하기 본문

Android

[Kotlin]KakaoMap SDK 사용하기

JustHm 2021. 6. 28. 22:42
728x90

https://apis.map.kakao.com/android/guide/

Kakao 지도 API

Kakao 지도 API를 이용해보세요. 다양한 샘플과 상세한 매뉴얼로 개발자분들의 시간을 아껴드리겠습니다!

apis.map.kakao.com

카카오맵을 사용해서 지도를 띄우고 내 위치를 확인해보자!


기본적으로 DOCS만 잘 따라하면 문제없다.

카카오 개발자 사이트에 개발자 등록 및 앱 생성을 해 준다.

여기서 문제가 키 해시값을 넣는거였는데

카카오에서 간단히 하는법을 지원해준다!

kakao SDK를 설정해 줘야 쓸 수 있다.

implementation group: 'com.kakao.sdk', name: 'usermgmt', version: '1.30.5'

카카오 SDK중 아무거나 app수준 gradle에 넣어주면 해시 구하는 기능을 사용할 수 있다.

Docs를 보고 난 후

프로젝트에서 설정도 해줘야한다!

implementation files('libs/libDaumMapAndroid.jar')

app수준 gradle에서 받아온 라이브러리를 implementation 해준다.

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


    <application>
        <activity android:name=".MainActivity">
            ...
        </activity>
        <meta-data android:name="com.kakao.sdk.AppKey" 
                                 android:value="XXXXXXXXXXXXXXXXXXXXX"/>
    </application>

Manifest파일에 App키 설정과 권한설정

App키는 네이티브 앱 키 사용하면 된다.

* android.permission.ACCESS_FINE_LOCATION

NETWORK_PROVIDER 와 GPS_PROVIDER 를 모두 사용하는 경우에는 ACCESS_FINE_LOCATION 권한을 사용하면 되는 것 같다.

* android.permission.ACCESS_COARSE_LOCATION

NETWORK_PROVIDER 만 사용하는 경우에는 ACCESS_COARSE_LOCATION 권한을 사용하면 되는 것 같다.

mView = MapView(this@MainActivity)
val mViewContainer = findViewById<RelativeLayout>(R.id.map_View)
mViewContainer.addView(mView)
mView.setCurrentLocationTrackingMode(MapView.CurrentLocationTrackingMode.TrackingModeOnWithoutHeadingWithoutMapMoving);

Map을 화면에 띄우려면 위와같은 작업을 하면된다.

Kotlin에선 extension을 사용해서 findViewById를 안 써도 된다고 했지만 알아보다보니 정식 플러그인으로 지원을 끊은것도 그렇고.. 런타임시에 문제점이 있다고 하여 쓰지 않기로 다짐했다.

애초에 변수이름과 레이아웃 이름이 실수로라도 겹치면 진짜 골치아플거 같다.

마지막 트래킹 모드는 내 위치를 보내주면 그 위치로 계속해서 지도 중심점, 내 위치마커가 업데이트 되는것

이렇게만 하면 KAKAO MAP의 기본적인 맵 띄우기 완성


다음 포스트에서 권한체크랑 위-경도 받아오고 사용하는 방법을 알아볼것이다!

TedPermission이란 권한체크 라이브러리가 있길래 사용해 볼 예정

728x90
Comments