Google Map-API 얻기-구글 지도, 구글 맵 라이브러리

CODEDRAGON Development/Android

반응형

   

Google Map V2 메인 페이지 

https://developers.google.com/maps/documentation/android/

   

   

Google Map API 사용하기 위한 절차

  • 구글 지도 사용을 위한 API키 생성
    • 인증서 지문 생성
    • Google APIs Console 프로젝트 생성
    • Google Maps Android API 항목 활성화
    • 새로운 키 생성 및 인증서 지문 등록
  • Google Play Services SDK 다운로드
  • 구글맵 라이브러리 프로젝트 가져오기
  • 프로젝트 생성
    • 구글맵 라이브러리를 지정 (project.properties )
    • 안드로이드 마니페이스 파일 설정 (AndroidManifest.xml)
    • activity_main.xml 작업
    • MainActivity 작업

   

   

구글 지도 사용을 위한 API키 생성

   

인증서 지문 생성

C:\Users\[로그인아이디]\.android

디렉터리의 debug.keystore을 이용해 Fingerprint(인증서 지문)을 생성하겠습니다.

   

   

시작>실행에 cmd를 입력하고 cmd 창을 연 후 아래와 같이 .android 디렉토리로 이동

cd .android

   

   

dir

debug.keystore파일 있는지 확인합니다.

   

   

인증서 지문 생성을 위한 명령어를 입력후 엔터를 클릭합니다.

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>

   

   

   

   

Google APIs Console 프로젝트 생성

구글 지도 API 키 생성을 위해 Google APIs Console로 이동

https://cloud.google.com/console/project

   

   

Create Project 버튼 클릭하여 프로젝트 생성

   

   

프로젝트 생성 완료!

생성한 프로젝트 이름을 클릭합니다.

   

   

Google Maps Android API 항목 활성화

Enable an API

   

Google Maps Android API v2을 찾습니다.

   

Google Maps Android API v2 오른쪽의 OFF버튼을 클릭해 ON으로 변경합니다.

   

상단을 보면 ON한 항목들을 모두 확인할 수 있습니다.

   

   

새로운 키 생성 및 인증서 지문 등록

APIs & auth-Credentials 클릭 >

Public API access영역의 Create new Key클릭

   

Android Key클릭

   

미리 생성해 둔 SHA1지문 등록 하겠습니다.

등록형식에 맞게 입력한 후 Create클릭

   

등록 형식 : SHA1지문;package 이름

22:8A:96:66:24:6F:34:83:CA:F9:77:BC:64:77:7E:B6:BA:8B:AE:0D;kr.android.map

   

등록 완료!

   

   

Google Play Services SDK 다운로드

   

Android SDK Manager를 실행한 후 Extra 항목에서 Google Play Services 선택해서 설치

   

   

   

   

   

프로젝트 생성 및 구글맵 라이브러리 프로젝트 가져오기

File > New > Other... 선택

   

Android-Android Project from Existing Code 선택 >

Next

   

Browse...

   

C:\javanAndroid\android-sdk_r22.6.2-windows\android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib

구글맵 라이브러리 프로젝트가 있는 폴더 선택 >

확인

   

libproject\google-play-service를 제외하고 체크를 모두 해제함

Copy projects into workspace 체크

Finish

   

   

   

구글맵 라이브러리 경로

C:\javanAndroid\android-sdk_r22.6.2-windows\android-sdk-windows\extras\google\google_play_services\libproject\google-play-services_lib

   

   

프로젝트 생성

   

   

라이브러리 등록하기 (google-play-services_lib)

프로젝트 선택 >마우스 우클릭 > Properties

   

Add

   

선택 > OK

   

OK

   

라이브러리 등록 완료!

   

구글맵 라이브러리를 지정 확인

project.properties 파일을 오픈합니다.

   

android.library.reference.1=../appcompat_v7 밑에 아래와 같이 구글맵 라이브러리를 지정되었는지 확인합니다.

target=android-19

android.library.reference.1=../appcompat_v7

android.library.reference.2=../google-play-services_lib

   

   

   

안드로이드 마니페이스 파일 설정

AndroidManifest.xml

<!--OpenGL 2.0 이상을 지원하는 단말기에서 실행되도록 하기-->

<uses-feature android:required="true" android:glEsVersion="0x00020000"/>

   

<!--권한 설정-->

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

<!--Cell ID, WiFi 관련 Permission-->

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

<!--GPS 관련 Permission -->

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

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

<!--네트워크 상태 정보 관련 Permission -->

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

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

   

application 태그에 구글API Key 지정 하기

AndroidManifest.xml

<!-- 구글 API Key 추가 -->

<meta-data

android:value="AIzaSyDPPJAMjDYQkBDxp2dOS3NPq5vjFKY6_QQ"

android:name="com.google.android.maps.v2.API_KEY"/>

<meta-data

                android:name="com.google.android.gms.version"

                android:value="@integer/google_play_services_version" />

 

android:value=항목 값에는 API Key값을 복사하여 붙여 넣습니다.

   

   

   

activity_main.xml 작업

 

<fragment

android:id="@+id/map"

class="com.google.android.gms.maps.MapFragment"

android:layout_width="match_parent"

android:layout_height="match_parent"

/>

 

   

   

MainActivity 작업

 

public class MainActivity extends Activity{

   

private GoogleMap map;

private static final LatLng MAP_ADDRESS = new LatLng(37.498321,127.027702);

   

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

   

if(map == null){

map = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();

if(map != null){

   

map.addMarker(new MarkerOptions()

.position(MAP_ADDRESS)

.title("강남역")

.snippet("나 여기 있어요~~~") .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));

   

//화면에 지정한 위도 경도 표시

CameraPosition cp = new CameraPosition.Builder().target(MAP_ADDRESS).zoom(17).build(); map.animateCamera(CameraUpdateFactory.newCameraPosition(cp));

}

}

}

}