본문 바로가기
개발/안드로이드

Location Based Service

by darksilber 2011. 7. 14.
반응형

출처 - http://mansoonk.blog.me/30111112557

위치기반
서비스 이용하기android.location

LocationListener

Location 변경되었을 LocationManager로부터 알림을 받는데 사용

Location

위도, 경도, 방위, 고도, 속도, 위치수정이 이뤄진 시간등을 포함할 있고

get메소드를사용해 얻을 있다.

LocationManager

위치기반 서비스에 억세스하여 제공 기능 사용 가능하게 한다.

LocationProvider

장치의 현재 위치를결정하는데 사용되는 서로다른 각각의 위치검색기술을 표현

Address

Address format is a simplified version of xAL

Criteria

사용자의 요구사항에 적합한위치공급자의 기준을 명시

Geocoder

주소와 경도/위도 좌표간의 정보를서로 변환

use-permission Manifast파일에 추가

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

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

위치찾기

1> LocationManager instance 확보하기

LBS(Location Based Services) 대한 접근은 Location Manager 이용.

LocationManager locationManager;

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

Location myLocation;

myLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

2> LocationProvider 이름 찾기

1. 위치공급자 선택하기 - getProvider호출

String providerName = LocationManager.GPS_PROVIDER;

LocationProvider gpsProvider;

gpsProvider = locationManager.getProvider(providerName);

장치에 이용할 있는 공급자 리스트를얻기 위해서는 getProviders호출

List<String> providers = locationManager.getProviders(True);

요구사항에 가장 부합하는위치공급자를 리턴

LocationManager.getBestProvider(criteria, {true|false})

요구사항에 부합하는 위치공급자를리스트형태로 리턴

LocationManager.getProvider(criteria, {true|false})

2.요구 기준에 기반해공급자 찾기 Criteria class 이용

setAccuracy(Criteria.ACCURACY_COARSE / Criteria.ACCURACY_FINE) : 정확도

setPowerRequirement(Criteria.POWER_LOW / ) :전력소비량

setAltitudeRequired(true / false) : 고도데이터 사용 유무

setBearingRequired(true / false) : 방위데이터 사용 유무 ***확인

setSpeedRequired(true / false) : 속도데이터 사용 유무

위치가 바뀔 마다 업데이트된 위치정보를 얻음.

locationManager.requestLocationUpdates(provider,밀리초, 거리, LocationListener)

위치정보 업데이트를 중단함.

locationManager.removeUpdates(LocationListener)

Geocoder goecoder = new Geocoder(getApplicationContext(), Locale.getDefault());

역방향 지오코딩 - 대상 위도와경도를 지오코더의 getFromLocation() 전달,

일치하는주소 리스트 리턴하거나없을경우 null 리턴.

순방향 지오코딩 getFromLocationName() 호출. List<Address> 형태의 결과값을 리턴.

반응형

댓글