Первым делом подключаем сами карты, делаем всё по документации. Пакет google_maps_flutter (
https://pub.dev/packages/google_maps_flutter).
Далее нам нужно получить стрим координат пользователя, импортируем geolocator (
https://pub.dev/packages/geolocator).
Для получения координат надо запросить разрешение на использование геопозиции, используем метод Geolocator.requestPermission. Теперь можно использовать метод Geolocator.getPositionStream для получения стрима координат.
При получении новых координат, старые сохраняем в oldCoordinates.
Конечная точка нам известна, поэтому мы её сразу добавляем в markers при помощи класса Marker().
Теперь нам надо создать функцию, которая при получении координат из стрима будет делать следующие вещи:
- Отрисовывать маршрут
- Получать направления движения
- Получать/обновлять оставшееся время и дистанцию
- Добавлять/обновлять маркер водителя
- Перемещать камеру