Приложение, позволяющее отслеживать пешее перемещение по пути, заранее заданному с помощью инструмента рисования маршрута "от руки", либо собственным перемещением.
В кинологии существует отдельный вид спорта - след, при котором собака идёт на запах по тому же пути, который раннее прошёл человек. Это стало семенем для зарождения концепции данного приложения - трекер, который позволяет сначала пройти определённый путь (задать маршрут), затем этот маршрут повторить уже в "боевом" режиме. Однако кинология и след - весьма узкая специализация, так что в приложение добавлен так же функционал рисования пути от руки, расчитывания длины получившегося пути, чтобы по нему затем можно было пройти. Таким образом приложение может помочь во многих ситуациях, когда есть задача выверить определённый путь, например в спорте.
При входе в приложение доступна основная кнопка с надписью "Start". Кнопка обладает функционалом быстрого нажатия и удержания: Удержание кнопки в начальном состоянии приложения даёт переход в режим рисования маршрута, повторное удержание - возвращение в изначальное состояние. В режиме рисования маршрута, с помощью появившейся сбоку кнопки, можно менять способ рисования - либо от руки (просто проведите пальцем по карте - маршрут будет нарисован), либо с помощью захвата вашей геолокации (необходимо пройти требуемый вам маршрут). Кнопка Clear позволяет при необходимости стереть нарисованный маршрут, внизу кнопки отображается текущая длина маршрута в метрах.
Если нужный маршрут нарисован, следует вернуться (удержание большой кнопки) в режим ходьбы. Теперь можно кликнуть по красной кнопке "Start", чтобы начать маршрут. По мере прохождения в правильном порядке маршрута, пройденный путь будет закрашиваться зелёным цветом, внизу отображается сколько метров из всего пути уже пройдено. Бывают ситуации, когда следует отключить отслеживание пути по маршруту. Для этого можно один раз кликнуть по большой кнопке во время прохождения маршрута - будет поставлена пауза. Повторное нажатие - снятие паузы. Осторожно! При удержании большой кнопки пройденный маршрут сбрасывается, возвращается исходный вид с кнопкой "Start". Если весь маршрут пройден, на кнопке будет написано "Finished!" - для возвращения в изначальный режим следует удержать большую кнопку.
Для работы с картами была использована библиотека от Яндекса - MapKit. UML диаграмма классов: