출처 | http://webnautes.tistory.com/647
구글맵 안드로이드 API키를 새로 등록하면서 바뀐점이 많아 기존 문서를 다시 새로 작성했습니다..
Google Developers Console(https://console.developers.google.com/project )에서
프로젝트 만들기 |
를 선택합니다.
프로젝트 이름을 적어주고 만들기를 클릭합니다.
중앙에 보이는 파란 사각형에서 API 사용설정 및 관리를 클릭합니다..
지도아이콘 옆에 보이는 Google Maps Android API를 클릭합니다...
API 사용 설정을 클릭하고 왼쪽에 있는 화살표를 클릭합니다..
이제 사용설정된 API수가 8개가 되었습니다.. 왼쪽에서 사용자 인증 정보를 클릭합니다..
화면 중앙에 보이는 사용자 인증 정보 추가를 클릭합니다..
API키를 선택합니다..
Android키를 선택해줍니다....
윈도우+R을 누른 후.. cmd를 입력하여 명령 프롬프트 창을 엽니다. 다음 명령으로 SHA1 fingerprint 획득할 수 있는데 키 저장소 비밀번호 입력하라고 나오면 android 를 입력하면 됩니다.
Keytool -exportcert -alias androiddebugkey -keystore c:\Users\webnautes\.android\debug.keystore -list -v |
우분투 리눅스에서는
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
패키지 이름 및 지문 추가를 클릭합니다....
잠시 안드로이드 스튜디오를 열어서 새로운 프로젝트를 생성합니다..
그리고 나서 다시 돌아와서 새로 만든 패키지 이름과 앞에서 얻은 SHA-1을 입력해주고.. 생성을 클릭합니다..
API키가 생성되었습니다.. 확인을 클릭합니다..
오늘 날자로 API키가 생성된 것을 확인할 수 있습니다.. OAuth 동의화면을 클릭합니다..
이메일 주소를 확인하고 사용자에게 표시되는 제품 이름을 입력후.. 저장을 클릭합니다.
다시 안드로이드 스튜디오로 돌아옵니다..
메뉴에서 Tools-Android-SDK manager를 선택해줍니다.
Android SDK manager에서 Google Play services를 선택해서 설치해줍니다.
AndroidManifest.xml파일에 아래 내용을 manifest 태그 아래에 복사해서 붙여 넣습니다. 빨간색은 만든 패키지 이름으로 변경해야 합니다.
<permission
android:name="com.tistory.webnautes.googlemap.locationapi.maps.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.tistory.webnautes.googlemap.locationapi.maps.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
그리고 앞에서 생성된 인증서 지문을 AndroidManifest.xml파일에 입력해주야 합니다. </application>태그 앞에 다음 내용을 입력해줍니다.
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="등록 받은 키" />
메뉴에서 File-Project Structure를 선택합니다. 왼쪽 사이드에서 Module 항목에 있는 app를 선택해주고 나서 탭에서 Dependancies를 선택합니다. 초록색 +를 클릭하고 Library dependency를 클릭합니다.
Play-services를 선택해주고 확인을 누릅니다..
Layout파일을 다음 내용으로 바꾸어 줍니다.
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
- <fragment
- android:id="@+id/map"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- class="com.google.android.gms.maps.MapFragment" />
- </RelativeLayout>
이제 안드로이드 소스코드를 작성합니다.
- package com.tistory.webnautes.googlemap;
- import android.app.Activity;
- import android.os.Bundle;
- import com.google.android.gms.maps.CameraUpdateFactory;
- import com.google.android.gms.maps.GoogleMap;
- import com.google.android.gms.maps.MapFragment;
- import com.google.android.gms.maps.model.LatLng;
- import com.google.android.gms.maps.model.Marker;
- import com.google.android.gms.maps.model.MarkerOptions;
- public class MainActivity extends Activity {
- static final LatLng SEOUL = new LatLng( 37.56, 126.97);
- private GoogleMap map;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
- .getMap();
- Marker seoul = map.addMarker(new MarkerOptions().position(SEOUL)
- .title("Seoul"));
- map.moveCamera(CameraUpdateFactory.newLatLngZoom( SEOUL, 15));
- map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
- }
- }
실행 결과 화면입니다...
'안드로이드' 카테고리의 다른 글
사용자 인터페이스 (UI) 기초 (0) | 2016.03.31 |
---|---|
Error:Execution failed for task ':app:mergeDebugResources' (0) | 2016.03.29 |
[펌] 개발자를 위한 안드로이드 5.0 롤리팝의 중요 변경사항 정리 (0) | 2016.01.04 |
1. PC와 스마트폰을 연결하기 (0) | 2015.10.06 |
[안드로이드] 이미지에 대한 메모리 누수(Memory Leak)를 방지하자 (0) | 2015.09.30 |