То, о чем вы здесь говорите, это, по сути, мертвый расчет , т. Е. Использование начальной позиции и известных изменений для оценки текущей позиции. Теоретически, если у вас есть точное измерение изменения скорости, вы можете выяснить, где вы в конечном итоге. Есть три проблемы:
Без GPS большинство смартфонов не могут напрямую измерять скорость. Вместо этого они используют акселерометры и гироскопы для измерения ускорений и вращений, и вы должны рассчитывать скорость на основе этих значений.
Небольшие неточности, особенно в начале периода измерения, могут привести к большим ошибкам.
Бег по своей природе включает в себя очень много небольших изменений в скорости, когда бегун подпрыгивает вверх и вниз, крутится так и так, избегает препятствий и т. Д. Измерение и учет всех этих изменений достаточно точно, чтобы избежать изрядное количество ошибок будет трудным.
Если это упражнение по измерению, программированию, компенсации ошибок и т. Д., То сделайте это. Если вы хотите точно определить окончательное положение джоггера, используйте другую систему определения местоположения, например, GPS. Если вы хотите оценить только пройденное расстояние, я согласен с другими комментаторами, что, вероятно, лучшее, что вы можете сделать, это измерить количество шагов и умножить на шаг пользователя.