geoCoder.getFromLocation ์๋ฌ
private fun updateUI(){ locationProvider = LocationProvider(this@MainActivity) var latitude : Double? = locationProvider.getLocationLatitude() var longitude : Double? = locationProvider.getLocationLongitude() if(latitude != null || longitude != null){ //1. ํ์ฌ ์์น๋ฅผ ๊ฐ์ ธ์ค๊ณ UI๋ฅผ Update val address = getCurrentAddress(latitude!!, longitude!!) address?.let{ binding.tvLocationTittle.text = "${it.thoroughfare}" binding.tvLocationSubtittle.text = "${it.countryName} ${it.adminArea}" } //2. ๋ฏธ์ธ๋จผ์ง ๋๋ ๊ฐ์ ธ์ค๊ณ UI๋ฅผ Update }else { Toast.makeText(this,"์๋, ๊ฒฝ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.",Toast.LENGTH_LONG).show() } } private fun getCurrentAddress(latitude : Double, longitude : Double) : Address?{ val geocoder = Geocoder(this, Locale.KOREA) val addresses : List try { addresses = geocoder.getFromLocation(latitude, longitude, 7)!! }catch (ioException : IOException){ Toast.makeText(this,"geocoder ์๋น์ค๋ฅผ ์ด์ฉ๋ถ๊ฐ ํฉ๋๋ค.",Toast.LENGTH_LONG).show() return null }catch (illegalArgumentException : java.lang.IllegalArgumentException){ Toast.makeText(this,"์๋ชป๋ ์๋, ๊ฒฝ๋ ์
๋๋ค.",Toast.LENGTH_LONG).show() return null } if(addresses == null || addresses.size == 0){ Toast.makeText(this,"์ฃผ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.",Toast.LENGTH_LONG).show() return null } return addresses[0] }