private String updateWithNewLocation(Location location) {
String addressString = "위치를 검색하는데 실패했습니다. 잠시후 다시 시도해주세요";
if (location != null) {
double latitude = location.getLatitude();
double longitude = location.getLongitude();
latlongString = "위도 : " + latitude + "\n경도 : " + longitude;
Log.i("gps", latlongString);
Geocoder gc = new Geocoder(this,Locale.KOREA);
try {
List<Address> addresses = gc.getFromLocation(latitude, longitude, 1);
StringBuilder sb = new StringBuilder();
if (addresses.size() > 0) {
Address address = addresses.get(0);
for (int i=0;i < address.getMaxAddressLineIndex();i++)
sb.append(address.getAddressLine(i)).append("\n");
sb.append(address.getCountryName()).append(" "); // 대한민국
sb.append(address.getAdminArea()).append(" "); // 강원도
sb.append(address.getLocality()).append(" "); //춘천시
sb.append(address.getThoroughfare()).append(" ");//효자3동
sb.append(address.getPostalCode()).append(" "); //200-947
addressString = sb.toString();
}
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("updateWithNewLocation_catch", "error");
e.printStackTrace();
}
} else
{
latlongString = "location 발견안됨";
return "현재 위치 : "+addressString;
}
return "현재 위치 : "+addressString;
}
버튼클릭하면 위에 있는 함수를 스레드를 이용해 실행시킵니다.
이렇게 하면 log찍어보니 위도, 경도 숫자값 항상 잘 받아옵니다
그리고 위 위도 경도를 이용해 주소 (강원도 춘천시 xx동 xx번지)로 출력합니다.
그런데 가끔 주소를 못찾아오네요..ㅠ
항상 위도 경도는 잘 받아오는데 무엇이 문제인가요??ㅠ