Home » Android -15. 위치기반 서비스

Android -15. 위치기반 서비스

15.1. 구글맵 연동

(1) 라이브러리 추가

New -> other -> Android Project from Existing Code


그림 54. 구글 맵 연동 1

sdk 경로/extras/google/google_play_services


그림 55. 구글 맵 연동 2

Project 오른쪽 클릭 -> Properties

그림 56. 구글 맵 연동 3

Android -> Library에 Is Library를 체크

그림 57. 구글 맵 연동 4

AndroidTutorial Project 오른쪽 버튼 클릭 -> add -> google-play-services_lib 클릭 -> OK


그림 58. 구글맵 연동 5

(2) 구글맵 인증키 발급에 필요한 keystore와 key fingerprint 획득

  • Key fingerprint는 이클립스에서 바로 획득할 수 있다.
    Windows -> Properties -> Android -> Build


그림 59. Key fingerprint 획득

(3) 구글 맵 인증키 발급 받기

https://code.google.com/apis/console/ 이동
Services탭에서 Google Maps Android API V2 ON으로 변경


그림 60. 구글 맵 인증키 발급 1

API Access탭 -> Create New Android Key 선택


그림 61. 구글 맵 인증키 발급 2

이전 획득한 sha1키와 프로젝트 패키지를 적어주고 create한다.
형식는 sha1;패키지


그림 62. 구글 맵 인증키 발급 3

API Key 획득

그림 63, 구글 맵 인증키 발급 4

(4) AndroidManifest 설정

<AndroidManifest.xml>
[php]
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" /> (1)

… 생략
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyAfdS1_ISTAYZ7S4j4pAeLLg9IQBa7WLIg" /> (2)
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" /> (3)
[/php]

번호 설명
(1) OpenGL 2.0 이상을 지원하는 단말기에서 실행 되도록 하는 설정
(2) API key 설정
(3) 버전 설정. 간혹 에러가 나며 적용이 안 된다면, res/values/integer/integers.xml 안에 아래 내용을 추가 해 준다.

[php]
<resources>
<integer name="google_play_services_version">4030500</integer>
</resources>
[/php]

  • <퍼미션 등록>

<AnroidManifest.xml>
[php]
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
[/php]

<googlemap_sample.xml>
구글 맵 라이브러리에 있는 클래스를 프래그먼트로 추가
[php]
<fragment
android:id="@+id/googleMapSampleMap"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
[/php]
<step13/GoogleMapSample>
[php]
GoogleMap map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.googleMapSampleMap)).getMap(); (1)
// 현재 위치를 표시
map.setMyLocationEnabled(true); (2)
[/php]

번호 설명
(1) 구글 맵 객체 획득
(2) 현재 위치를 표시하는지 여부 true/false 설정


그림 64. 구글 맵 연동 결과 화면