본문 바로가기

모바일 프로그래밍(Android Studio)

구글 맵 이용을 위한 설정

1. 모듈 수준 build.gradle 파일에 Android용 Maps SDK용 Google Play 서비스 종속 항목을 추가

dependencies {
    implementation 'com.google.android.gms:play-services-maps:18.1.0'
    // ...
} 

2. 모듈 수준 build.gradle 파일에서 compileSdk  minSdk를 다음 값 이상으로 설정되어있는지 확안

android {
    compileSdk 31

    defaultConfig {
        minSdk 19
        // ...
    }

3. Android 스튜디오에서 프로젝트 수준 build.gradle 파일을 열고 다음 코드를 buildscript 아래 dependencies 요소에 추가

plugins {
    // ...
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
}

4. 모듈 수준 build.gradle 파일을 열고 plugins 요소에 다음 코드를 추가

id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    

5. 프로젝트 수준 디렉터리에서 local.properties를 열고 다음 코드를 추가합니다. YOUR_API_KEY를 API 키로 변경

MAPS_API_KEY=YOUR_API_KEY
    

6. AndroidManifest.xml 파일에서 com.google.android.geo.API_KEY로 이동한 후 android:value attribute를 다음과 같이 업데이트

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="${MAPS_API_KEY}" />
    

7. application 요소 내에 다음 선언을 추가한다, 이렇게 하면 앱이 컴파일된 Google Play 서비스의 버전이 삽입된다.

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

8. ACCESS_FINE_LOCATION 권한(정확한 위치에 액세스 하도록 허용)을 요청하려면 이 코드를 manifest 요소에 추가

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

ACCESS_COARSE_LOCATION 권한(대략적인 위치에 액세스 하도록 허용)을 요청하려면 이 코드를 manifest 요소에 추가

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

9. Google Play 서비스 SDK 버전 8.3 이상을 타겟팅하는 경우에는 WRITE_EXTERNAL_STORAGE 권한이 필요하지 않습니다. 이전 버전의 Google Play 서비스 SDK를 타겟팅하는 경우에는 manifest 요소에서 WRITE_EXTERNAL_STORAGE 권한을 요청해야 한다.

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

10. Saved points 만들기