У меня есть широта и долгота маршрута, и я сохраняю их в списке массивов. Моя проблема состоит в том, чтобы рассчитать расстояние от текущего местоположения до места назначения не по прямой линии, а не использовать широту и длинный список для расчета общего расстояния.
Пользователь может использовать приложение, когда они находятся в середине маршрута, как мы проверьте направление пользователя, в котором он движется, а также хотите показать стрелку направления, чтобы направить пользователя по пути, который будет достигнут в конце пункта назначения.
У меня следующие координаты списка маршрутов
private List<LatLng>Route_data=new ArrayList<>();
Route_data.add(new LatLng(26.4178639682,45.1525075372))
Route_data.add(new LatLng(26.4180316260,45.1525486342))
Route_data.add(new LatLng(26.4187514397,45.1524630683))
Route_data.add(new LatLng(26.4187286584,45.1521783630))
Route_data.add(new LatLng(26.4185696655,45.1519302694))
Route_data.add(new LatLng(26.4182746231,45.1515815804))
Route_data.add(new LatLng(26.4190233717,45.1513697017))
Double totaldistance = Math.round(SphericalUtil.computeLength(Route_data));
Я вычислил общее расстояние маршрута с помощью этой функции, проблема в том, как мы вычисляем расстояние от текущего местоположения пользователя до данных маршрута. например, если текущее местоположение пользователя получено в середине маршрута, как я рассчитываю расстояние до конца пути маршрута.
Double totaldistanceremaing = Math.round(SphericalUtil.computeLength(new LatLng(currentuserlat, currentuserlang),Route_data));
Как я делаю этот тип функции, которая возвращает оставшееся расстояние от текущего местоположения для маршрутизации точки списка не по прямой линии от текущего местоположения к конечной точке, а лучше использовать среднюю точку маршрута. Используется список массивов для расчета расстояния.
второй вопрос, который я хочу задать, как я показываю пользователю навигацию по направлению пути. i
Примечание: я не хочу использовать API направления, потому что это автономное приложение, которое работает без inte rnet. рекомендовал хороший способ решить эту проблему. Спасибо