[AndroidStudio,GoogleMap,Firebase,SpringBoot] KnockKnock 개발일지 - 0324 (실시간 위치 업데이트, 구글맵으로 찍은 좌표 주변 데이터 조회하기)
오늘의 목표
- ✔실시간 위치 정보 업데이트 문제 해결하기
- ✔유저로부터 구글맵 좌표 설정값을 받을 fragment 새로 만들기
- ✔구글맵 좌표 설정값 가져오기
- ✔구글맵 좌표 설정값 or 유저의 현재 위치(default) 값으로 주변 데이터 조회하기
참고한 링크
안드로이드 구글 지도(Google Maps) API 활용 2 - 지도에 터치한 곳 위도 경도 구해서 마커(핀) 표시하기
오늘의 이슈
실시간 위치 정보 업데이트가 되지 않는 문제
💥[MySQL] 좌표 사이 거리 구하기 (+ 반경 내 좌표 조회) - 나중에 Point를 활용해서 lat,lon 변수 사용 고치고 쿼리문도 간단화하기, 일단은 구현에 목표를 두고 있어서 이건 생략!
실시간 위치 정보 업데이트
onLocationChanged와 RequestLocationUpdates
이 두 메서드를 혼동해서 문제가 발생했던 것이였다.
RequestLocationUpdates
는 한 번만 실행되며 한 번 실행시 onLocationChanged
를 반복적으로 실행하도록 조작해주는 메서드이다.
다시 말해서 반복적으로 실시간 위치가 체크되는 메서드는 onLocationChanged
메서드이고 RequestLocationUpdates
는 그것의 반복을 처음 실행시키는 트리거이다.
따라서 기존에 RequestLocationUpdate
에 짰던 Firebase 위치 정보 업데이트 코드를 onLocationChanged
로 옮겨 담았다.
또한 지금은 배포 전이라 집에서만 위치 확인을 하기 때문에 위치 업데이트가 firebase에 되는지 확인할 수 없어서 onLocationChanged
가 호출될 때마다
count
변수가 올라가도록 설정하고 위치변화 대신 firebase의 유저 정보에 count
를 추가하여 count
가 증가하는지 실시간으로 확인할 수 있었다.
@Override
public void onLocationChanged(Location location) {
lat = location.getLatitude();
lon = location.getLongitude();
Log.i("MyLocTest", "onLocationChanged() 호출되었습니다.");
Log.i("MyLocTest","내 위치는 Latitude :" + lat + " Longtitude : " + lon);
updateUserLocation(lat,lon);
count++;
}
당연히 로그도 잘 찍힌다! 문제 해결 완료💞💕
Author And Source
이 문제에 관하여([AndroidStudio,GoogleMap,Firebase,SpringBoot] KnockKnock 개발일지 - 0324 (실시간 위치 업데이트, 구글맵으로 찍은 좌표 주변 데이터 조회하기)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eeheaven/AndroidStudioGoogleMapFirebaseSpringBoot-KnockKnock-개발일지-0323-실시간-위치-업데이트-구글맵으로-찍은-좌표-주변-데이터-조회하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)