출처 - 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> 형태의 결과값을 리턴.
'개발 > 안드로이드' 카테고리의 다른 글
[안드로이드]Android Sensor - Orientation (0) | 2011.07.19 |
---|---|
[안드로이드]방향(Orientation)센서 사용예제 (0) | 2011.07.18 |
[Android] 출력 : 캔버스 (Canvas, Paint) (0) | 2011.06.23 |
[안드로이드] AlarmManager 사용하기 (0) | 2011.06.22 |
[Android] 가로, 세로 모드 고정하기 (0) | 2011.06.22 |
댓글