Notice
Recent Posts
Recent Comments
Link
투케이2K
101. (AndroidStudio/android/java) LocationManager 사용해 사용자 디바이스에서 위도 (Latitude) , 경도 (Longitude) 추출 본문
Android
101. (AndroidStudio/android/java) LocationManager 사용해 사용자 디바이스에서 위도 (Latitude) , 경도 (Longitude) 추출
투케이2K 2021. 4. 1. 09:12/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
private final LocationListener mLocationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//TODO 여기에서 위치값이 갱신되면 이벤트가 발생한다
//TODO 값은 Location 형태로 리턴되며 좌표 출력 방법은 다음과 같다
double longitude = location.getLongitude(); //경도
double latitude = location.getLatitude(); //위도
double altitude = location.getAltitude(); //고도
float accuracy = location.getAccuracy(); //정확도
String provider = location.getProvider(); //위치제공자
/**
* Gps 위치제공자에 의한 위치변화. 오차범위가좁다
* Network 위치제공자에 의한 위치변화
* Network 위치는 Gps에 비해 정확도가 많이 떨어진다
*/
Log.d("---","---");
Log.w("//===========//","================================================");
Log.d("","\n"+"[A_GPS > LocationListener() 메소드 : 위치 정보 확인 실시]");
Log.d("","\n"+"[위치 정보 : "+String.valueOf(provider)+"]");
Log.d("","\n"+"[정확도 : "+String.valueOf(accuracy)+"]");
Log.d("","\n"+"[위도 : "+String.valueOf(latitude)+"]");
Log.d("","\n"+"[경도 : "+String.valueOf(longitude)+"]");
Log.d("","\n"+"[고도 : "+String.valueOf(altitude)+"]");
Log.w("//===========//","================================================");
Log.d("---","---");
try {
String data = "";
data += "geo:";
data += latitude;
data += ",";
data += longitude;
//TODO 위도 경도값 데이터 토스트 메시지 출력
Toast.makeText(getApplication(),String.valueOf(data),Toast.LENGTH_SHORT).show();
}
catch (Exception e){
e.printStackTrace();
}
//TODO GPS 정보를 미수신할때는 반드시 자원해체를 해주어야 한다
try {
locationManager.removeUpdates(mLocationListener);
}
catch (Exception e){
e.printStackTrace();
}
}
public void onProviderDisabled(String provider) {
//TODO Disabled 경우
Log.d("---","---");
Log.d("//===========//","================================================");
Log.d("","\n"+"[A_GPS > onProviderDisabled() 메소드 실행]");
Log.d("","\n"+"[provider : "+String.valueOf(provider)+"]");
Log.d("//===========//","================================================");
Log.d("---","---");
}
public void onProviderEnabled(String provider) {
//TODO Enabled 경우
Log.d("---","---");
Log.d("//===========//","================================================");
Log.d("","\n"+"[A_GPS > onProviderEnabled() 메소드 실행]");
Log.d("","\n"+"[provider : "+String.valueOf(provider)+"]");
Log.d("//===========//","================================================");
Log.d("---","---");
}
public void onStatusChanged(String provider, int status, Bundle extras) {
//TODO Status 변경시
Log.d("---","---");
Log.d("//===========//","================================================");
Log.d("","\n"+"[A_GPS > onStatusChanged() 메소드 실행]");
Log.d("","\n"+"[provider : "+String.valueOf(provider)+"]");
Log.d("","\n"+"[status : "+String.valueOf(status)+"]");
Log.d("","\n"+"[Bundle : "+String.valueOf(extras)+"]");
Log.d("//===========//","================================================");
Log.d("---","---");
}
};
/* =========================== */
/* =========================== */
[결과 출력]
/* =========================== */
/* =========================== */
[파일 첨부]
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments