본문 바로가기
Study/Android

android location (위치찾기)

by Answer Choi 2015. 4. 29.
반응형

위치찾기 소스


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


여기서 가져온 값을 텍스트뷰로 뿌려주기만 하면 됩니다.^^


실행 모습입니다.






반응형

인기글