안녕하세요
제가 하기 소스를 통해 GPS 정보를 1초 단위로 받아오고 있는 상황입니다.
코드 :
private fun startLocationUpdates() {
mLocationRequest = LocationRequest.create()
mLocationRequest.run {
priority = LocationRequest.PRIORITY_HIGH_ACCURACY
interval = 1000
}
//FusedLocationProviderClient의 인스턴스를 생성.
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this)
// 기기의 위치에 관한 정기 업데이트를 요청하는 메서드 실행
// 지정한 루퍼 스레드(Looper.myLooper())에서 콜백(mLocationCallback)으로 위치 업데이트를 요청
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return
}
mFusedLocationProviderClient!!.requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.myLooper())
}
// 시스템으로 부터 위치 정보를 콜백으로 받음
private val mLocationCallback = object : LocationCallback() {
override fun onLocationResult(locationResult: LocationResult) {
// 시스템에서 받은 location 정보를 onLocationChanged()에 전달
locationResult.lastLocation
onLocationChanged(locationResult.lastLocation)
}
}
// 시스템으로 부터 받은 위치정보를 화면에 갱신해주는 메소드
fun onLocationChanged(location: Location) {
mLastLocation = location
KNSampleLog("경도 : " + mLastLocation.longitude + " 위도 : " + mLastLocation.latitude)
}
여기서 질문입니다 !!!
위코드를 통해 받아온 위도 경도값을 하기 메서드에 즉 naviView에 적용하는 방법이 있을까요?
하기 Callback은 KNGuidance_LocationGuideDelegate의 위치정보가 바뀔 경우 호출 되는 부분입니다.
override fun guidanceDidUpdateLocation(aGuidance: KNGuidance, aLocationGuide: KNGuide_Location) {
naviView.guidanceDidUpdateLocation(aGuidance, aLocationGuide)
}