Как непрерывно вычислять расстояние между обновлениями местоположения, чтобы получить общее расстояние

#java #distance #android-gps

#java #расстояние #android-gps

Вопрос:

Как непрерывно вычислять расстояние между обновлениями местоположения, чтобы получить общее расстояние. Я попытался захватить координату в момент времени t-1 (предыдущее местоположение) и в момент времени t (текущее местоположение) с помощью listview, но не смог получить хороших результатов. Я искал по всему Интернету, и решение, которое я нашел до сих пор, заключается в вычислении расстояния между двумя точками. В моем вопросе будет серия обновлений местоположения, приводящих к списку координат. Пожалуйста, помогите.

 @Override
    public void onLocationChanged(Location location) {
        if (location !=null)
        {
            Lat=location.getLatitude();
            Long=location.getLongitude();
            
    // How to continuously calculate distance between location updates to finally get the total distance when I stop location update

        }else{
            Toast.makeText(getActivity(), "No location update", Toast.LENGTH_LONG).show();
        }
    }
  

Комментарии:

1. «решение, которое я нашел до сих пор, заключается в вычислении расстояния между двумя точками»: что еще вам нужно? Разве сумма этих расстояний не является именно тем, что вы хотите?

2. «Я пытался захватить координату в момент времени t-1 (предыдущее местоположение) и в момент времени t (текущее местоположение) с помощью listview, но не смог получить хороших результатов». Что было не так с результатами? Возможно, вычисление не следует выполнять слишком часто, поскольку в местоположении всегда есть небольшая неточность, а на небольшом расстоянии небольшая неточность приводит к значительной ошибке. (Например, ошибка 5 метров на расстоянии 10 метров против ошибки 5 метров на расстоянии 100 метров.)

Ответ №1:

Местоположение, в котором я возвращаю общее расстояние, дало мне желаемый результат.