Android

안드로이드 스튜디오 T Map(카카오 지도) 연동하여 지도 띄우기

567Rabbit 2024. 7. 2. 16:18

API 앱키(appKey) 생성하기

 

 

홈페이지에서 회원가입하여 대시보드에 들어간다.

 

https://openapi.sk.com/

 

SK open API

SK텔레콤 데이터와 시각화 가공을 지원 받을 수 있는, 데이터 바우처 사업 에 대해서 알아보세요! 더 알아보기

openapi.sk.com

 

 

 

앱을 생성한다. 필자는 Joyfulmind의 이름으로 앱을 생성하였다.

 

 

 

 

 

TMAP의 API 사용 요금에서 무료체험을 선택하고,

 

 

 

 

 

 

위에서 만들었던 생성했던 앱을 선택해준다.

 

 

 

 

 

 

 

사용 신청을 해주고,

 

 

 

 

대시보드에서 나의 앱으로 들어가, 앱키(appKey)를 확인한다. 안드로이드 스튜디오에서 쓸 것이므로 key를 저장해두자

 

 

 

 

 

 

 

Navi SDK 다운받기

 

https://tmapapi.tmapmobility.com/main.html#androidVSM/sample/androidSample.sdk_download

 

Guide | T MAP API

 

tmapapi.tmapmobility.com

 

안드로이드 스튜디오에서 libs 디렉토리(폴더)를 만들어서, 압축을 푼 sdk 파일을 넣어준다.

 

 

sdk는 1.4 버전의 arr로 다운받았다.

 

 

 

안드로이드 스튜디오 TMAP API  환경설정

 

https://tmapapi.tmapmobility.com/main.html#androidVSM/guide/androidGuide.sample4

 

Guide | T MAP API

 

tmapapi.tmapmobility.com

 

 가이드대로 환경설정 해준다.

 

 

 

build.gradle.kts (:app)

    implementation("androidx.appcompat:appcompat:1.7.0")
    implementation("com.google.android.material:material:1.12.0")
    testImplementation("junit:junit:4.+")
    
    implementation("androidx.core:core-ktx:1.10.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.9.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")

    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
	
    // 다운받은 sdk 버전을 일치시켜준다. aar파일이름 동일하게 해주면 된다
    implementation(files("libs/vsm-tmap-sdk-v2-android-1.6.60.aar"))
    implementation(files("libs/tmap-sdk-1.4.aar"))

 

 

 

settings.gradle.kts 를 작성해준다.

 

        mavenCentral()
        gradlePluginPortal()
        google()
        maven("https://repo2.sktelecom.com/repository/maven-public/")

 

 

 

 

Manifest를 작성해준다.

 

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

 

 

 

 

activity_main.xml

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <FrameLayout
        android:id="@+id/tmapViewContainer"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@id/runButton"
        app:layout_constraintTop_toTopOf="parent" />

    <!-- runButton 정의 -->
    <Button
        android:id="@+id/runButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Run"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

 

 

 

 

MainActivity.java

package com.~.tmap;

import android.os.Bundle;
import android.widget.FrameLayout;

import androidx.appcompat.app.AppCompatActivity;

import com.skt.tmap.TMapView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FrameLayout container = findViewById(R.id.tmapViewContainer);
        TMapView tMapView = new TMapView(this);
        container.addView(tMapView);
        tMapView.setSKTMapApiKey("여기에 자신의 TMap API Key값을 입력한다!!!");
        tMapView.setOnMapReadyListener(new TMapView.OnMapReadyListener() {
            @Override
            public void onMapReady() {
                //todo 맵 로딩 완료 후 구현
            }
        });
    }
}

 

 

 

T Map 라이브러리를 연동하여 지도를 띄웠다.