본문 바로가기

자료

안드로이드 위치 주소정보 가져오는 방법

출처 : http://blog.naver.com/PostView.nhn?blogId=free2824&logNo=60154994221

 

위의 소스에서 약간의 변형과 몇줄만 삭제 했음

 

public String getGpsToAddress(){

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

String addressString;
  
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);// 정확도
criteria.setPowerRequirement(Criteria.POWER_LOW); // 전원 소비량
criteria.setAltitudeRequired(false); // 고도 사용여부
criteria.setBearingRequired(false); //
criteria.setSpeedRequired(false); // 속도
criteria.setCostAllowed(true); // 금전적비용

String provider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(provider);

double latitude = location.getLatitude(); // 위도
double longitude = location.getLongitude(); // 경도

Geocoder gcK = new Geocoder(getApplicationContext(),Locale.KOREA);

            try {
                List<Address>  addresses = gcK.getFromLocation(latitude, longitude, 1);
                StringBuilder sb = new StringBuilder();

                if (addresses.size() > 0) {
                    Address address = addresses.get(0);
                    sb.append(address.getCountryName()).append("\n");
                    sb.append(address.getPostalCode()).append("\n");
                    sb.append(address.getLocality()).append("\n");
                    sb.append(address.getThoroughfare()).append("\n");
                    sb.append(address.getFeatureName()).append("\n\n");
                    addressString = sb.toString();
                }

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

return addressString;