반응형
android에서 위치를 찾기위해서 android api의 android.location class를 사용하였는데 이제
google location services API를 사용하라고 하는군요.
Google Location Services API
위 링크로 가면 위치정보를 좀 더 쉽게 가져올 수 있습니다.
1. 최신위치 찾기 ( Getting the Last Known Location)
이건 디바이스에서 최신 위치를 찾아오는 겁니다.
일단 레이아웃 입니다.
간단하게 버튼과 아래는 텍스트뷰로~
이제 build.gradle로 가셔서 dependency를 추가해 줍니다.
1 2 3 4 5 | dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:22.0.0' compile 'com.google.android.gms:play-services:7.3.0' } | cs |
그리고 manifest로 가서 permission을 추가합니다.
1 | <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> | cs |
google services api를 이용하기 위해 google APIClient를 선언해 줍니다.
1 2 3 4 5 | mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(LocationServices.API) .build(); | cs |
그리고 버튼을 누르면
1 | mGoogleApiClient.connect(); | cs |
이걸로 API를 실행합니다.
GPS값은 callback함수로~
1 2 3 4 5 6 7 8 9 10 11 12 | @Override public void onConnected(Bundle bundle) { mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); if (mLastLocation != null) { textLocation.setText(String.valueOf(mLastLocation.getLatitude()) + "," + mLastLocation.getLongitude()); }else{ textLocation.setText("위치를 알 수 없습니다."); } mGoogleApiClient.disconnect(); } | cs |
여기서 가져온 값을 텍스트뷰로 뿌려주기만 하면 됩니다.^^
실행 모습입니다.
반응형
'Study > Android' 카테고리의 다른 글
Error:"[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다. (0) | 2015.06.01 |
---|---|
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference (0) | 2015.05.21 |
좌표계 변환하기 (0) | 2015.04.28 |
nRF Beacon 앱 분석 - beacon 정보받아오기!! (0) | 2015.03.23 |
nRF Beacon 앱 분석 - beacon 추가하기!! (3) | 2015.03.20 |