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번지)로 출력합니다.

그런데 가끔 주소를 못찾아오네요..ㅠ

 

항상 위도 경도는 잘 받아오는데 무엇이 문제인가요??ㅠ