본문 바로가기
프로그램/Android

[Kotlin] Naver 지도 표시하기 - <FrameLayout>

by 로드러너 2019. 4. 16.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. build.gradle (Project: 프로젝트명) 파일에 maven repository 경로 정보 추가

 

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url 'https://navercorp.bintray.com/maps' }
        }
    }

 

 

2. build.gradle (Module: app) 파일에 naver map 라이브러리 정보 추가

 

    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        . . .

        // 네이버 지도 SDK
        implementation 'com.naver.maps:map-sdk:3.3.0'

    }

 

 

3. AndroidManifest.xml 파일에 권한 및 CLIENT ID 추가

 

        <application>
            . . . 
            <meta-data android:name="com.naver.maps.map.CLIENT_ID" android:value="CLIENT_ID" />

            . . . 

        </application>

 


4. activity_main.xml 파일에 지도를 표시할 fragment 를 추가한다.

 

        <FrameLayout android:id="@+id/map_fragment"
                           android:layout_width="match_parent"
                           android:layout_height="match_parent" />

 

 

5. MainActivity.kt 파일에 코드 추가

 

    class MainActivity : AppCompatActivity(), OnMapReadyCallback {

 

        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)

            val
mapFragment = supportFragmentManager.findFragmentById(R.id.map_fragment) as MapFragment?
                ?: MapFragment.newInstance().also {
                    supportFragmentManager.beginTransaction().add(R.id.map_fragment, it).commit()

                }
            mapFragment.getMapAsync(this)

        }

 

        override fun onMapReady(naverMap: NaverMap) {
            Toast.makeText(this, "지도 준비 완료", Toast.LENGTH_SHORT).show()
        }

    }

 

여기까지 코드를 추가하고 컴파일하게 되면 스마트폰 화면에 naver 지도가 표시 됩니다.