๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๊ฐœ์ธ ๊ณต๋ถ€/Android

[Android] T-Map API์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„ ๋„์›Œ๋ณด๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

 

[๐Ÿ‘จ‍๐ŸŽ“ํ•™๊ต ์ˆ˜์—…๐Ÿ‘จ‍๐ŸŽ“/[3-2]Android] - [Android] ์ž๋ฐ”๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋‹ค์Œ ์ง€๋„ API์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„ ๋„์›Œ๋ณด๊ธฐ

 

[Android] ์ž๋ฐ”๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๋‹ค์Œ ์ง€๋„ API์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„ ๋„์›Œ๋ณด๊ธฐ

๋‹ค์Œ์ง€๋„ API ํ‚ค ๋ฐœ๊ธ‰ 1. ์ง€๋„ API์„ ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ๋Š” Kakao Developers(https://developers.kakao.com/)์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•˜์—ฌ ๊ฐœ๋ฐœ์ž ๋“ฑ๋ก์„ ํ•œํ›„ ์•ฑ ๋“ฑ๋ก์„ ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. 2. ์•ฑ SDK์„ ์‚ฌ์šฉํ•˜๊ธฐ์œ„ํ•ด์„œ๋Š” ํ”Œ๋žซํผ..

sungmin.dev

3ํ•™๋…„ 2ํ•™๊ธฐ(2019) ์ˆ˜์—…์ค‘ ๋ชจ๋ฐ”์ผSWํ”„๋กœ์ ํŠธ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ํ”„๋กœ์ ํŠธ ์ฃผ์ œ๋ฅผ ๊ฐœ๋ฐœ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ง€๋„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•ด์•ผํ–ˆ๋‹ค.

์šฐ๋ฆฌ ๋‚˜๋ผ์—๋Š” ๋งŽ์€ ์ง€๋„์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค.

๊ทธ์ค‘ ๋Œ€ํ‘œ์ ์œผ๋กœ ์นด์นด์˜ค๋งต๊ณผ T-Map์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์„œ๋กœ ๋ชฉ์ ์ด ๋งŽ์ด ๋‹ค๋ฅด๊ณ , ์„ฑํ–ฅ๋„ ๋งŽ์ด ๋‹ค๋ฅด๋‹ค.
๋‚˜๋Š” ๊ธฐ์กด์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋Š” ๊ตฌ๊ธ€ ์ง€๋„๋‚˜ ์• ํ”Œ ์ง€๋„๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ž…์žฅ์—์„œ
๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์นด์นด์˜ค๋งต์€ ํ•œ๊ตญ์—์„œ ์œ„์น˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ ๋ณด๊ธฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ง€๋„์˜€๊ณ , T-Map์€ ๋„ค๋น„๊ฒŒ์ด์…˜ ์—ญํ• ์„ ํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์ง€๋„๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๋”ฐ๋ผ์„œ 1ํ•™๊ธฐ ์ˆ˜์—…์—์„  ๋‹ค์Œ์ง€๋„ API์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„๋ฅผ ๋„์›Œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹ค๋ฉด ์ด๋ฒˆ์—๋Š” T-Map API์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€๋„๋ฅผ ๊ตฌํ˜„ํ•ด๋ณผ๋ ค๊ณ  ํ•œ๋‹ค.

์šฐ์„  T-Map์€ SKT์—์„œ ๊ฐ€์ด๋“œ๋ผ์ธ์ด ์ž‘์„ฑ ๋˜์–ด์žˆ๋‹ค.
(http://tmapapi.sktelecom.com/index.html)

๋”ฐ๋ผ์„œ ์ง€๋„๋ฅผ ํ‘œ์‹œํ•˜๋Š”๋ฐ์—๋Š” ํฐ ์–ด๋ ค์›€์ด ์—†์—ˆ๋‹ค.

1. APIํ‚ค ๋ฐœ๊ธ‰ ๋ฐ ์˜ˆ์ œ SDK ๋‹ค์šด๋ฐ›๊ธฐ

์–ด๋Š ์ง€๋„๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๊ฐ ํšŒ์‚ฌ์˜ ์ง€๋„๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์˜ˆ์ œ SDK์™€ APIํ‚ค๋ฅผ ์ด์šฉํ•ด์•ผํ•œ๋‹ค.

์˜ˆ์ œ SDK๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ์ด ์ ํ˜€์žˆ๋Š” ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ๋‹ค์šด์„ ๋ฐ›์„์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์ œ SDK๋‹ค์šด

 

APIํ‚ค์˜ ๊ฒฝ์šฐ (https://openapi.sk.com/)์— ๋ฐฉ๋ฌธํ•˜์—ฌ ํšŒ์›๊ฐ€์ž…์„ ํ•˜๋ฉด ๋ฐœ๊ธ‰์„ ๋ฐ›์„์ˆ˜ ์žˆ๋‹ค.

APIํ‚ค ๋ฐœ๊ธ‰

T-Map์˜ ๊ฒฝ์šฐ ํŠธ๋ž˜ํ”ฝ๋Ÿ‰์— ๋”ฐ๋ผ ๊ณผ๊ธˆ์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ™•์ธ์„ ๊ผญ ํ•ด์•ผํ•œ๋‹ค.

 

2. jarํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ

T-Map์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  T-Map Class์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ Java ๊ธฐ๋ณธ jar์˜ ๊ฒฝ์šฐ ์ง€์›์„ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜๋™์ ์œผ๋กœ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

jarํŒŒ์ผ์˜ ๊ฒฝ์šฐ ์˜ˆ์ œ SDK์„ ๋‹ค์šด ๋ฐ›์œผ๋ฉด libsํด๋”์— ์œ„์น˜ํ•ด ์žˆ๋‹ค.

Android Studio์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ Android๋กœ ๋˜์–ด์žˆ๋Š”๊ฒƒ์„ Project๋กœ ๋ฐ”๊พผํ›„ T-Map jarํŒŒ์ผ์„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค.

jarํŒŒ์ผ ์ถ”๊ฐ€

์œ„์˜ ๋ฐฉ๋ฒ•์ด ์–ด๋ ต๋‹ค๋ฉด ์ˆ˜๋™์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ ํด๋”์— app-libs ํด๋”์— ๋„ฃ๊ณ  Android Studio์„ ์žฌ์‹คํ–‰ ํ•˜์—ฌ๋„ ๋ฌด๊ด€ํ•˜๋‹ค.

์ˆ˜๋™์ ์œผ๋กœ ๋„ฃ๊ธฐ

 

3. ๊ถŒํ•œ ๋ถ€์—ฌ

์ง€๋„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ธํ„ฐ๋„ท๊ณผ GPS๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— AndroidMainfest.xmlํŒŒ์ผ์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

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

4. ๋ ˆ์ด์•„์›ƒ ์„ค์ •

ํ•ด๋‹น ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ๊ฐ€์ด๋“œ๋ผ์ธ์— ๋‚˜์™€์žˆ๋Š” ๋ฐฉ๋ฒ•์ค‘ LinearLayout์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„์„ ํ•ด๋ณด์•˜๋‹ค.

<?xml version="1.0" encoding="utf-8"?>
   <android.widget.LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:orientation="vertical">

      <LinearLayout
          android:id="@+id/linearLayoutTmap"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">
      </LinearLayout>
   </android.widget.LinearLayout>

 

5. ๋ฐ”์ธ๋”ฉ ๋ฐ Java ์ฝ”๋“œ ์ž‘์„ฑ

์šฐ์„  T-Map์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  jarํŒŒ์ผ์„์—์„œ ํ•„์š”ํ•œ Class๋“ค์„ import ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

import com.skt.Tmap.TMapView;

๊ทธ ์ดํ›„ MainActivuty Class์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

public class MainActivity extends AppCompatActivity {

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

        LinearLayout linearLayoutTmap = (LinearLayout) findViewById(R.id.linearLayoutTmap);
        TMapView tmapview = new TMapView(this);

        tmapview.setSKTMapApiKey("APIํ‚ค"); //์ด๋ถ€๋ถ„์€ ์•„๊นŒ ๋ฐœ๊ธ‰ ๋ฐ›์€ T-Map API๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
        linearLayoutTmap.addView(tmapview);

    }
}

 

6. ํ™•์ธ

์ง€๋„๊ตฌํ˜„์ด ์™„์„ฑ๋œ ์‚ฌ์ง„

728x90
๋ฐ˜์‘ํ˜•