위치기반 서비스 2008011128 지성현
API Key 발급 라이브러리 SDK 추가 및 설치 Manifest 설정
개발 환경 구글 맵을 뛰우기 위해서는 본인 PC의 MD5값으로 API KEY를 받아야 하지만 2013년 3월 18일부터는 V1의 API Key를 제공을 중단했습니다. 그래서 더 이상 v1으로는 GPS관련 어플리케이션을 제작할 수 없습니다 . 작년 하반기 까지 나온 안드로이드 관련책은 전부 v1으로 되어있었습니다. 그래서 이번 발표에서는 지원되는 서비스 종류가 더 많은 v2를 사용했습니다.
애플리케이션 서명 애플리케이션을 배포 할때 apk 형태로 만들어야 합 니다
Keystore Key = 서명 , keystore = 서명을 할 수 있는 파일 애플리케이션을 마켓에 배포 할때는 자신의 키를 이용하여 서명한 후 배포 합니다. 만약 최초 업로드시 사용한 키를 잃어버리면 더 이 상 애플리케이션을 업데이트 할 수 없습니다.
key 구글 맵을 사용하는 애플리케이션을 테스트 하려면 배포시 필요한 key 뿐만 아니라 디버그용 key 또한 등록해주어야 하므로 api key 발급은 필수입니다.
Api key 발급 과정 cmd Windows 7 : c:\users\[사용자 계정]\.android Keytool –list –v –keystore debug.keystore –alias androiddebugkey –storepass android –keypass android
MD5 – v1 SHA1 – v2
서비스 목록중 v2 api 를 on 으로 변경 새로운 안드로이드 api 키를 제공받기 위해 Create new Android key를 선택
SHA-1 을 입력
프로젝트 생성 프로젝트와 라이브러리 프로젝트를 별도로 생성해 야 합니다 이유 V2 버전부터는 별도의 라이브러리로 제공되기때문 에, 이를 사용하기 위해서는 안드로이드 내 자신의 workspace로 구글맵 라이브러리 프로젝트를 불러 와야합니다.
라이브러리 프로젝트
[안드로이드 SDK경로] /extras/google/google/google_play_services/libproject/google-play-services_lib
SDK 설치 Extra에 google – play – service 도 추가 설치를 해야합니다.
라이브러리 프로젝트 참조
Permission 설정 이유 다른 애플리케이션의 데이터나 서비스를 이용하기 위한 권한을 확보하거나, 다른 애플리케이션이 내 애플리케이션의 데이터에 접근하기 위한 권한을 요 청할때 입니다
Manifest Extras Manifest Extras 설정 Manifest Extras에 별도로 지정을 하는 이유는 구글 맵이 openGL 2.0을 사용하는데 이를 지원하지 않는 단말기에 타 애플리케이션이 기능을 포함하여 설치가 되면 용량낭비가 심해지므로 맵 관련 어플이 설치되지 않기 위해 별도 설정을 해주어야 한다.
Manifest Application 제공받은 API Key
Permissions 구글 맵 데이터를 받아오기 위해 필요한 권한을 추가
Uses Permissions 구글 서비스 맵을 읽을 수 있는 권한 인터넷 사용하기 외부 저장소(sdcard)에 쓰기 자동 기상 위치 기능 권한 자신의 위치를 확인(gps사용시 사용) 구글 서비스 맵을 읽을 수 있는 권한
위치관리자 객체 참조 위치관리자 객체참조 최근 확인된 위치정보 확인
위치리스너 1. LocationListener를 구현하는 새로운 GPS Listener 클래스 정의 2. 위치정보(위도와 경도 좌표확인)
MapView 지도를 보여줄 MapView 정의
MapActivity MapActivity 클래스를 상속하는 새로운 클래스 정의 XML 레이아웃에 정의한 MapView 객체 참조 지도의 기본 확대/축소 콘트롤 사용하기 설정
지구 좌표와 화면에 나오는 좌표의 타입은 다르다. 따라서 GeoPoint 객체로 만들 때는 double 타입을 int 타입으로 변환해 주어야 합니다. 위도 경도 좌표값에 1000000 곱하기 정수값으로 GeoPoint 객체 생성 MapController 객체 참조후 현재 위치로 지도 이동 확대/축소 레벨 설정 현재 위치를 지도의 중심으로 표시
에뮬레이터에서는 GPS 모듈을 사용 할수 없으므로 이클립스의 DDMS로 가상의 위치정보를 전송해주거나 스마트폰으로 직접 실행가능.