카카오맵 API로 지도 생성

Hwan·2023년 3월 19일
0

GiftMap

목록 보기
4/15

구현할 내용

  • 카카오맵 API를 사용하여 화면에 지도 띄우기

1. build.gradle

아래 코드 추가하기

dependencies {
	implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation files('libs/libDaumMapAndroid.jar')
}

2. activity_main.xml

ReativeLayout으로 지도를 보여줄 화면 전체를 지정

<RelativeLayout
        android:id="@+id/map_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

3. MainActivity.kt

override fun onCreate(savedInstanceState: Bundle?) {
		...
		val mapView = MapView(this)
        val mapViewContainer = findViewById<ViewGroup>(R.id.map_view)
        mapViewContainer.addView(mapView)
        }

4. 오류 해결하기

1) 앱이 정상 작동하지 못하고 자동 종료 됨

2) 지도가 까만 화면으로 나옴

해결법

  1. Permission 확인
  2. usesCleartextTraffic = true
  3. networkSecurityConfig 추가
  4. meta-data의 위치 확인

Androidanifest.xml

<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" />

<application
	...
    android:usesCleartextTraffic="true"
    android:networkSecurityConfig="@xml/network_security_config"
    >
    ...
    </activity>
    <meta-data
            android:name="com.kakao.sdk.AppKey"
            android:value="이부분에 키값" />
</application>
    

networkSecurityConfig.xml

위치는 res/xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">maps.daum-img.net</domain>
    </domain-config>
</network-security-config>

0개의 댓글