CODEDRAGON ㆍDevelopment/Android
Google Map API 사용하기 위한 절차
· Google Play Services SDK 다운로드
· 구글 지도 사용을 위한 API키 생성
o Google APIs Console 프로젝트 생성
o Google Maps Android API 항목 활성화
· 획득한 API키 확인하기
· Key 제한 하기
o 인증서 지문 생성
o API 키에 패키지명과 SHA-1인증서 지문 등록하기
o
o 새로운 키 생성 및 인증서 지문 등록
· 프로젝트 설정
o 구글맵 라이브러리를 지정 (build.gradle(Module:app)
o 안드로이드 마니페이스 파일 설정 (AndroidManifest.xml)
o 구글API Key 지정 하기(google_maps_api.xml)
o activity_main.xml 작업
o MainActivity 작업
Google Play Services SDK 다운로드
구글 지도는 Google Play Services를 사용하므로 SDK Manager를 통해 설치합니다.
Android SDK Manager를 실행한 후 [SDK Tools]탭 항목에 있는
[Google Play Services] 선택 >> 우측 하단의 [OK] 버튼 클릭
[Fisnish]
구글 지도 사용을 위한 API키 생성
Google APIs Console 프로젝트 생성
구글 지도 API 키 생성을 위해 Google APIs Console로 이동
https://cloud.google.com/console/project
"Create Project (프로젝트 만들기)"버튼 클릭하여 프로젝트 생성
프로젝트 이름 입력 후 >> 만들기
처음 프로젝트를 생성하는 경우
아래의 동의항목을 모두 체크한 후 [Create]버튼을 클릭하시기 바랍니다.
프로젝트 생성 완료!
Google Maps Android API 항목 활성화
프로젝트 선택 후 >> 왼쪽 창에서 [라이브러리] 항목을 클릭
"지도"의 [Google Maps Android API] 클릭
[사용설정] 클릭
우측 상단의 "[사용자 인증 정보 만들기]" 버튼 클릭 >> [API 키]
획득한 API키 확인하기
https://console.cloud.google.com/ 에서 프로젝트 선택 후 >> 좌측 상단의 샌드위치 버튼 >> [API 및 서비스] >> [사용자 인증 정보]에서 확인할 수 있습니다.
Key 제한 하기
인증서 지문 생성
C:\Users\[로그인아이디]\.android
디렉터리의 debug.keystore을 이용해 Fingerprint(인증서 지문)을 생성하겠습니다.
시작>실행에 cmd를 입력하고 cmd 창을 연 후 아래와 같이 .android 디렉토리로 이동
cd .android
dir
debug.keystore파일 있는지 확인합니다.
자바의 keytool을 이용합니다.
인증서 지문 생성을 위한 명령어를 입력후 엔터를 클릭합니다.
keytool -v -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android |
C:\Users\yuriyuri\.android>keytool -v -list -alias androiddebugkey -keystore d
ebug.keystore -storepass android -keypass android
별칭 이름: androiddebugkey
생성 날짜: 2014. 5. 6
항목 유형: PrivateKeyEntry
인증서 체인 길이: 1
인증서[1]:
소유자: CN=Android Debug, O=Android, C=US
발행자: CN=Android Debug, O=Android, C=US
일련 번호: 4cabc2ae
적합한 시작 날짜: Tue May 06 12:37:32 KST 2014, 종료 날짜: Thu Apr 28 12:37:32 K
ST 2044
인증서 지문:
MD5: FB:34:82:DE:26:31:32:4D:33:81:49:02:99:75:CC:69
SHA1: 22:8A:96:66:24:6F:34:83:CA:F9:77:BC:64:77:7E:B6:BA:8B:AE:0D
SHA256: BF:2E:BE:73:B3:78:7D:D7:F3:FB:3E:DC:47:F9:0C:67:C3:D4:E4:74:66:
28:2D:21:6F:F8:8E:3A:A8:65:FF:20
서명 알고리즘 이름: SHA256withRSA
버전: 3
확장:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 34 1A 84 C0 2F EA BC 5B 9E F0 87 1F 77 24 B6 19 4.../..[....w$..
0010: 17 AD 83 FE ....
]
]
C:\Users\yuriyuri\.android>
|
API 키에 패키지명과 SHA-1인증서 지문 등록하기
발급된 API키 오른쪽의 연필모양의 수정 아이콘 클릭
키 제한 사항에서 해당 항목 선택(Android앱) >>
패키지명과 SHA-1인증서 지문을 입력 >> [저장]
프로젝트 설정
구글맵 라이브러리 등록하기 (google-play-services_lib)
build.gradle(Module:app) 파일을 오픈합니다.
implementation 'com.google.android.gms:play-services-maps:11.8.0' 코드를 추가합니다.
dependencies{
implementation fileTree(dir:'libs',include:['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services-maps:11.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
|
|
안드로이드 마니페이스 파일 설정
AndroidManifest.xml
<!--OpenGL2.0이상을지원하는단말기에서실행되도록설정-->
<uses-featureandroid:required="true"android:glEsVersion="0x00020000"/>
<!--Permission-->
<uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--구글맵API 정보
google_maps_api.xml 파일에서 설정하면 자동으로 동기화 됩니다. -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key"/>
|
구글API Key 지정 하기
values/google_maps_api.xml
<resources>
<!--
TODO:Beforeyourunyourapplication,youneedaGoogleMapsAPIkey.
Togetone,followthislink,followthedirectionsandpress"Create"attheend:
Youcanalsoaddyourcredentialstoanexistingkey,usingthesevalues:
Packagename:
8A:D6:35:84:D3:45:65:86:E5:77:9E:9C:CC:B1:4D:BE:24:2C:F0:EF
SHA-1certificatefingerprint:
8A:D6:35:84:D3:45:65:86:E5:77:9E:9C:CC:B1:4D:BE:24:2C:F0:EF
Alternatively,followthedirectionshere:
https://developers.google.com/maps/documentation/android/start#get-key
Onceyouhaveyourkey(itstartswith"AIza"),replacethe"google_maps_key"
stringinthisfile.
-->
<stringname="google_maps_key"templateMergeStrategy="preserve"translatable="false">AIzaSyB2Tbu......XfvMACQkZ0</string>
</resources>
|
android:value=항목 값에는 API Key값을 복사하여 붙여 넣습니다.
activity_main.xml 작업
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
|
MainActivity 작업