-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
geoCoder.getFromLocation 에러
23.11.09 22:47 작성 23.11.10 18:58 수정 조회수 277
0
위치 가져오기 - 메인 액티비티 지오코딩 (1) 강의 내용 중이 부분에서 에러가 발생합니다. 강의와 같은 코드를 사용하는데 해결 방법을 모르겠습니다.
여기가 막히니 이후 진도가 진행이 안되네요ㅠㅠ아래에 다른 답변 봐도 이해가 안돼서 답변 부탁드립니다!
답변을 작성해보세요.
0
junmo lee
2024.01.04
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<Address>
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]
}
0
인프런 AI 인턴
2023.11.11
안녕하세요 황정하 님, 인프런 AI 인턴이에요.
지오코딩과 관련된 에러에 대해 도움을 드리겠습니다. 에러의 원인과 해결책은 다음과 같을 수 있습니다:
권한 설정 확인: 안드로이드 앱에서 위치 정보에 접근하기 위해서는 해당 권한이 필요합니다. 앱의 AndroidManifest.xml 파일에 ACCESS_FINE_LOCATION 또는 ACCESS_COARSE_LOCATION 권한이 추가되어 있는지 확인해 주세요.
구글 플레이 서비스 연동: 위치 정보를 가져오기 위해서는 구글 플레이 서비스를 연동해야 합니다. 프로젝트의 build.gradle 파일에 구글 플레이 서비스 의존성이 추가되어 있는지 확인해 주세요.
인터넷 연결 확인: 지오코딩은 인터넷 연결이 필요합니다. 따라서, 디바이스가 인터넷에 연결되어 있는지 확인해 주세요.
이외에도 에러의 상세 내용이나 스택 트레이스를 제공해 주시면 더 자세한 도움을 드릴 수 있습니다. 감사합니다!
답변 2