마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

코틀린 onLocationChanged 함수 실행

0 추천
override fun onLocationChanged(Location: location){

~~~

}
개발 환경은 코트린입니다.
이벤트를 사용하여 위치가 변할 때 마다 특정 함수를 실행시키고 싶은데

저 안에 함수를 실행시키기 위해 넣으면 실행이 안되네요 뭐가 문제일까요..?

함수는 현재 위치의 좌표를 구한 뒤 마커와의 거리를 m 단위로 측정하는 함수 입니다.
mtE (170 포인트) 님이 2021년 11월 23일 질문
문제가 되는 코드를 올려보심이 좋을 것 같아요. 저 함수만으로는 알아내기가 힘들듯 합니다.
override fun onLocationchanged(Location: location) {
getCurrentLoc()
distance = getDistance(35,444123, 123.445651)
} 코드는 이미 지워서 없습니다만 이런식으로 작성을 해보았으나 움직여도 반응이 없더군요
Location Manager로  로케이션을 요청하고 퍼미션 처리도 하셨나요? 그리고 작은 폭으로 움직이거나 해도 바로 반응이 없을 수도 있습니다.
Location Manager로 어떻게 받나요? 또 getCurrentLoc() 함수 안에서는 권한 요청 설정을 해둔 상태입니다. OnLocationchanged 에도 권한 요청을 설정해야하는건가요?
AndroidManifest.xml에 관련 권한을 선언해 주어야 하고 LocationManager를 사용하기 전에 권한을 획득하셔야 해요. 사용자가 권한을 바로 승인하지 않거나 두번째 권한 거부를 할 경우에 대한 처리 등등, 꼼꼼하게 테스트해야 할 부분들이 있습니다.

https://developer.android.com/training/location/request-updates

그리고 안드로이드12에서는 로케이션과 관련해서 바뀐 부분이 많습니다. 권한 요청 방식이라던가, 권한 설정, 백그라운드 작업 제한 등등. 혹 안드로이드 12를 지원하신다면, 반드시 확인을 해보고 넘어가세요.
답변 감사합니다. ㅠㅠ
AndroidManifest 에서 권한 선언은 이미 한 상태입니다.
API 는 네이버 맵 API 사용중입니다. 이미 지도를 화면에 띄우기랑 네이버 맵에서 제공하는 사용자 위치 추적을 설명을 보고 따라하여 권한 확인하고 동작이 됩니다. 하지만 locationchanged 는 예제가 없어서 활용허기 힘드네요.. ㅠ
알려드린 개발자 문서에 전체적인 코드가 나와 있구요, 구글 Github Android Repostiory 를 찾아보면 로케이션 관련 예제, 샘플 앱 등이 있을 겁니다. 유투브에서 영어로 검색해도 관련 예제가 많이 검색 될 겁니다.
https://github.com/android/location-samples
답변 감사합니다.. 한 번 알아보고 확인해보겠습니다.

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...