Android 플랫폼의 앱에서 일정 기간 동안 경과 된 거리를 계산하려고합니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
현재로서는 LocationListener 인터페이스를 구현 중입니다.
나는 방법 I 현재이 같은 일을 오전일정 기간 동안 이동 거리를 계산하는 가장 좋은 방법은 무엇입니까?
을 onLocationChanged 무시하고 :
public void onLocationChanged(Location location) {
Log.d("onLocationChanged", "onLocationChanged");
old_location.set(new_location);
new_location.set(location);
totalDistanceElapsed += new_location.distanceTo(old_location);
을} 그래서 새 위치 점 이제까지 시간 "을 이전 위치 지점으로부터의 거리를 추가하고
onLocationChanged "라고합니다. 이것이 맞습니까? 다른 조치가 필요합니까? 정확할까요? 그렇지 않다면 어떻게하면 더 정확하게 만들 수 있습니까? 덕분에
달려있는 정도에 따라 다릅니다. 나에게 가장 좋은 방법은 매 x 번 (예 : 30 초) GPS 위치를 기록한 다음 거리를 계산하는 것입니다. 컨텍스트에 따라 변경 될 수 있습니다 ... 아마도 다른 방법은 속도를 기반으로 샘플 시간을 계산하는 것입니다. 속도가 높으면 샘플 속도가 향상됩니다. :) – ykatchou
좋은 질문입니다. totalDistanceElapsed 속성은 이동하지 않을 때 증가하지 않는 속성이 있어야합니다. 얼마나 정확한 위치인지 모르겠으므로 전화기가 움직이지 않는 곳에서 totalDistanceElapsed가 증가하지 않는지 확인하는 테스트를 권합니다. 참으로 증가한다면 10m의 공차를 추가 할 수 있습니다. 공차보다 작 으면 이벤트를 무시할 수 있습니다. –
감사합니다. 이제 "전화가 움직이지 않는 곳을 테스트하는 방법"을 모르겠습니다. 다시 도와 주시겠습니까? 고맙습니다 – dewijones92