11. 위치 기반 서비스 API 작성자 이 승 태 발표일 2010.05.30.

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

관광 의 의 미와 한국 의 관광명 소 지 리교육 과 신현모. 01 ‘ 관광 ’ 이 란 무엇인가 ? 1.1 관광 의 사전 적 정 의 1.2 관광 의 의 미 02 우리 나라의 관광 지 와 축 제 2.1 우리 나라의 관광명 소 년 우리 나라의.
All Rights Reserved, Copyright© UBIVELOX co.,Ltd LG U+ 과금 API 소개 Version1.0 Authorubivelox Date21-Feb
H. I. T.. Smart-Phone?! Smart-Phone  애플리케이션의 추가 / 삭제가 용이한 범용 OS 를 탑재한 단말  변화되는 시장요구에 대응하여 PC 환경과 동일한 서비스 활용 가능.
Daum Open API Blog API 소개 MashupCamp2008 | 고영민 다음커뮤니케이션 커뮤니티개발 2 팀.
For Android 이재원.  페이스북 SDK 설치  2 가지 예제 & 소스  API 사용 예제 프로젝트 만들기  Graph API  참고사항 & 사이트.
Page  1 Copyright© 2015 Hanbit Academy, Inc. All rights reserved. [ 강의교안 이용 안내 ] 본 강의교안의 저작권은 한빛아카데미㈜에 있습니다. 이 자료를 무단으로 전제하거나 배포할 경우 저작권법 136 조에 의거하여.
삼성소프트웨어멤버십 20 th 박희근 ( A n d r o i d.
안드로이드 (Android) 발표자 : 이강민. 1. 안드로이드란 ? 구글에서 제작한 모바일 디바이스를 위한 플랫폼 ▫ 모바일 디바이스 플랫폼이란 ?  모바일 디바이스를 위한 소프트웨어 집합 ( 미들웨어, 키 어플리케이션, 운영체제 등 ) 2. 모바일 플랫폼 시장 점유율.
구글 TV 앱 개발 채원석. 발표순서 개요 ‘Panoramio’ - 구글 TV 앱 포팅 사례 기초 개발 사용자 인터페이스 요약.
ChartSNS Final BlackHole 한규학 이경찬 최규연 김보경 전승현. 왜이런 거죠 ? 리비아 사 태로 차질 이 생겼어 요. 그러므로 이러한 압축 된 차트를 가지고 토론 을 하기 위 해선 / 명확한 의견 을 표현하는 것이 필요합 니다. 그러므로 이러한 압축.
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
9 주차 실습강의 학기, 소프트웨어 설계 및 실험 ( Ⅰ ). Artificial Intelligence Laboratory Open API  API(Application Programming Interface)  응용 프로그램에서 사용할 수 있도록.
프로젝트 제안서 날씨대로 기분대로 팀원 박효민 신준범 정민섭 안성원
Unlocking Android 인텐트 (Intent) 2 Unlocking Android 인텐트 클래스 활용 3.
아름다운 이들의 행복한 길음안나의 집.
안 보여 줄끼가? 소프트웨어 프로젝트 1 – 제안서 발표 피바다 (A6)조 발표자 : 조기수.
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
CHAP 10. 액티비티와 인텐트.
01. 안드로이드 개요와 개발환경 구축 제목.
위치기반 서비스 지성현.
CHAP 19. 구글맵.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
A n d r o i d Android 2010 년 5월 19일 작성자 : 백 선 재.
입 점 제 안 서 본 제안서를 당사에서 분양중인 대구광역시 동구 율하2택지개발지구 상업시설용지 C3-4,5 번지의 삼우메디빌에 대한 입점제안서로 제출 합니다. 2008년 10월 삼우종합개발.
지도 시장 이야기 (LBS 서비스 & 국내외 현황) (2009_case3)
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
Open API - Google Maps (Application Programming Interface )
안드로이드 기반에서 MapServer를 이용한 지도 서비스
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
13. 멀티미디어와 Google 지도 제목. 13. 멀티미디어와 Google 지도 제목.
CRIME PREVENTION NECKLACE
아파트관리비 청구서 이용 프로세스 안내 ㈜한국전산기술.
3주차 Android Application ANDROID App..
Key and Certificate Management Using Keystores
OnUniv 발표자 : 전희승.
CH 851 지식기반 시스템 응용 (모바일 시스템) 2006년도 제 2학기.
위치 기반 서비스 – 조현철.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
Open API - Naver (Application Programming Interface )
월 정례조회.
고구려,백제,신라의 건국과 발전 Start!
안드로이드 사용자를 위한 고양이 가이드 어플 / 황수진-.
매스커뮤니케이션 신문 목원대학교 서 진 희.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
CHAP 13. 서비스와 방송 수신자.
Introduction 2007 컴퓨터공학실험(Ⅰ)
Bingo 빙고 따라가기.
Introduction 학기, 컴퓨터공학실험(Ⅰ)
차량 관제시스템 제안서 신흥콘트롤㈜ 031 / 705 / 6923(代).
모바일 실내측위 기술 ETRI Technology Marketing Strategy IT R&D Global Leader
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
2015년도 스마트공장 지원사업에 대한 사업비 타당성 평가
상가개폐업조사용 앱 사용설명서 - android기준 - 소상공인진흥원 2013년 하반기 조사.
1조, 여행.
에스앤더헬스 세부기능 소개 Update :
6월 1주 주간메뉴표 NEW 엄마손 조식 쉐프 삼촌 중식 참새 방앗간 석식 ◎원산지 안내 : 쌀(국내산)
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
상황별/유형별 고객응대법.
PART 1 앱 인벤터 프로젝트 07 내 차를 찾아줘. PART 1 앱 인벤터 프로젝트 07 내 차를 찾아줘.
[297탄] 반드시 길러야 할 4가지 공부 습관 자습 습관 복습 습관 동기부여 습관 셀프 테스트 습관
CHAP 11. 리소스와 보안.
욕은 나의 삶을 망치는 나쁜 습관이다. '욕하면서 배우고 칭찬하며 닮아간다.'
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
컴퓨터 소프트웨어 설계 및 실험 2016년 1학기 실험계획.
아메리칸투어리스터랑 똑같이 만들어주세요 ㅋ
[MIS 팀 프로젝트] 위치기반서비스 LBS 영어교육과 조용태 영어교육과 곽성현.
한국디지털미디어 고등학교 번 조성혁 HTML 5는 HTML4의 다음 버전으로 특정 plug-in같은 것 없이 web에서 진보,발전된 application을 만들 수 있도록 HTML을 발전시킨 것이다.
11월 고등부 공과설교 업드림? 업드림! 갈라디아서 6:9-10.
Presentation transcript:

11. 위치 기반 서비스 API 작성자 이 승 태 발표일 2010.05.30

(1) GPS 활용 1) 위치 알아내기 파일의 구성 핵심내용 위치기반서비스 (location-based service) API 활용 - GPS와 같은 H/W를 이용하여 얻은 좌표를 알기쉬운 지명으로 변환하거나 지명을 입력받아 좌표값 혹은 지도상의 위치를 습득

(1) GPS 활용 1) 위치 알아내기 위치를 알아내는 공정 (GPS.java) LOCATION_SERVICE로 getSystemService()를 호출해서 LocationManager 인스턴스를 얻는다. - 응용프로그램에 필요한 위치 정보의 수준에 따라 적절한 권한을 요청하는 요소를 AndroidManifest.xml 파일에 추가한다. - getBestProvider()메서드나 getAllProviders() 메서드를 이용해서 위치 정보 제공자를 선택 - LocationListener 클래스를 구현한다. - 앞에서 선택한 제공자와 LocationListner클래스의 인스턴스로 requestLocationUpdates()메서드를 호출한다. 이 시점부터 응용프로그램에 위치 정보가 공급된다.  LocationManager location = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

(1) GPS 활용 1) 위치 알아내기 위치정보 얻기 (AndroidManifest.xml) <uses-permission android:name="android.permission. ACCESS_COARSE_LOCATION " />  개략적인 위치 정보(Cell-ID, WiFi)에 접근하는 것을 허용한다. <uses-permission android:name="android.permission. ACCESS_FINE_LOCATION " />  자세한 위치 정보(GPS)에 접근하는 것을 허용한다.

(1) GPS 활용 1) 위치 알아내기 근접한 제공자를 선택 (GPS.JAVA) Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.NO_REQUIREMENT);  정밀도 수준지정 (ACCURACY_COARSE, _FINE) criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);  정보제공자의 전원사용수준 지정 (POWER_HIGH, _LOW) String best = location.getBestProvider(criteria, true);  조건에 최적화된 위치정보 제공자 이름 리턴

(2) 위치의 지오코딩 2) 지오코딩이란? 사람에게 익숙한 주소나 서술적인 지명을 지리적 수치좌표로 변환하는 것 좌표검색을 통한 위치 알아내기 (GPS.JAVA)

(2) 위치의 지오코딩 2) 지오코딩이란? Iterator<Address> addresses = coder.getFromLocation(location.getLatitude(), location.getLongitude(), 3).iterator(); 위도(latitude), 경도(longitude) 로 검색한 위치의 주소가 여러 개 일수 있다. 위의 3은 최대 결과값 개수를 의미하며 List<Address> 에 최대 3개까지의 결과값 (주소) 이 전달된다. 개별 Address객체에서 주소정보 추출 String placeName = namedLoc.getLocality(); String featureName = namedLoc.getFeatureName(); - int addIdx = namedLoc.getMaxAddressLineIndex(); for (int idx = 0; idx <= addIdx; idx++){ String addLine = namedLoc.getAddressLine(idx); locInfo += String.format("\nLine %d: %s", idx, addLine);

(2) 위치의 지오코딩 2) 지오코딩이란? 입력한 지명을 위치 좌표로 전환 (GeoAddress.JAVA)

(3) Google 지도 API키 얻기 구글에서 제공하는 지도 서비스를 애플리케이션에서 사용하기 위해서는 Maps API Key라는 것이 필요하다. Maps API Key는 자바 툴에서 제공하는 keytool.exe를 이용하여 얻을 수 있다. Maps API Key를 얻기 위해서는 MD5 Fingerprint를 먼저 구해야 한다. * 구문설명 -list : 인증서의 MD5 fingerprint를 프린트하라 -alias : androiddebugkey가 키의 별명 -keystore : 키스토어의 이름은 debug이고 .keystore 항상 붙는다. -storepass : keystore 암호는 "android"이고 보안을 위해 셸에 저장되지 않는다. -keypass : key 암호는 "android"이고 보안을 위해 셸에 저장되지 않는다.

(3) Google 지도 API키 얻기 아래 사이트를 방문하여 Maps API Key를 등록한다. http://code.google.com/android/maps-api-signup.html 인증서 지문을 입력하면 아래와 같이 android:apiKey를 얻게 된다.

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 AndroidManifest.xml 에 추가하기 실제 지도를 이용하는 메뉴의 xml파일에 아래와 같이 apiKey를 삽입한다. 본 교재의 예제에 경우에는 res/layout/mapping.xml, hut.xml에 해당된다. Clickable 특성을 true로 설정하면 MapView의 클릭반응을 활성화 할수 있다. <com.google.android.maps.MapView android:id="@+id/map" android:clickable="true" android:apiKey="057Zuw90mplt5BNaCsKKHPHORa7wamt8ZnD4Kjw" android:layout_width="fill_parent" android:layout_height="wrap_content"/> AndroidManifest.xml 에 추가하기 <application ….> <uses-library android:name="com.google.android.maps" /> </application> <uses-permission android:name="android.permission.INTERNET" />

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 내장지도에 표시하기 (GeoAddress.JAVA) final String geoURI = String.format("geo:%f,%f", lat, lon ); Uri geo = Uri.parse(geoURI); Intent geoMap = new Intent(Intent.ACTION_VIEW, geo); startActivity(geoMap);  주어진 지명의 위도와 경도 좌표를 알아냈다면, 안드로이드 내장 지도 응용프로그램을 띄워서 표시할수 있다.

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 내장지도 응용하기 (Mapping.JAVA) final MapView map = (MapView) findViewById(R.id.map); map.setSatellite(true);  지도 표시 모드를 위성모드로 설정 final MapController mapControl = map.getController(); mapControl.setZoom(17);  확대단위 (클수록 확대된 모습) GeoPoint newPoint = new GeoPoint((int)(lat * 1E6), (int)(lon*1E6)); mapControl.animateTo(newPoint);  특정 위치를 지도에 표시 map.setBuiltInZoomControls(true);  MapView의 확대, 축소 기능을 활성화

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 지도상의 위치표식 (Mapping.JAVA) 전형적인 화면 좌표나 뷰 좌표 대신 GeoPoint를 이용해서 접근할 수 있는 뷰 위젯을 MapView안에 배치 - 지명에서 얻은 위도와 경도에 해당하는 위치에 이미지표시 위젯추가 - MapView상의 한지점을 지정하기 위해 MapView.LayoutParams객체생성

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 대피소 위치들의 배열 (Huts.JAVA)

(3) Google 지도 API키 얻기 1) 실제 지도 이용하기 대피소 위치들의 배열 (Huts.JAVA) 분산된 대피소들이 한 눈에 들어오도록 지도의 중심과 축척이 자동으로 설정 - getCenter()메서드는 모든 대피소의 평균 위도와 평균 경도를 계산해서 리턴

(4) 예제 실행 현재의 위치표시 (주소 및 지도) 지명을 통한 검색  위도,경도 및 지도 2번 항목과 더불어 구글맵 조회 가능 구글맵을 통해 지정된 8개의 대피소 확인

(4) 예제 실행 1) GPS Sample 위도 (37.~), 경도 Start 버튼 클릭 현재 위치

(4) 예제 실행 1) GPS Sample

(4) 예제 실행 2) Geocode Sample Map 버튼 클릭

(4) 예제 실행 3) Mapping Sample Map 버튼 클릭

(4) 예제 실행 4) Show Huts Sample

** 감사합니다. **