#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:
Местоположение, в котором я возвращаю общее расстояние, дало мне желаемый результат.