TrackLink

Приложение TrackLink помогает следить за вашими передвижениями по морю благодаря GPS-трекеру. При каждом выходе в море приложение записывает точный маршрут, погодные условия, максимальную скорость, пройденное расстояние, время и ваши личные отметки. Все маршруты автоматически привязываются к судну, которое вы указали в профиле.
Анимация изменения уровня воды и положения иконки якоря реализована при помощи CoreAnimation и Autolayout. Для нестандартных теней используется CAShadowLayer (грани уровня воды).
Для навигации используется боковое меню c анимированным "плавающим" якорем на воде, который показывает пользователю, какой экран отображается в данный момент.
Навигация
Техническое решение
Анимация изменения уровня воды и положения иконки якоря реализована при помощи CoreAnimation и Autolayout. Для нестандартных теней используется CAShadowLayer (грани уровня воды).
Для навигации используется боковое меню c анимированным "плавающим" якорем на воде, который показывает пользователю, какой экран отображается в данный момент.
Навигация
Техническое решение
На этом экране пользователь может просмотреть текущий или уже завершенный маршрут на карте. Зеленый маркер указывает на начало пути, красный - где путь был закончен. Пунктиром отмечаются участки, где геолокация была недоступна слишком долго.
Используется стандартный GoogleMaps API. Основной технической особенностью является алгоритм определение участков, которые нужно показывать пунктиром. Перед созданием polyline и его отображением на карте, сравнивается дистанция между соседними точками маршрута. В результате, если дистанция слишком большая, мы указываем dashed-gray стиль для такого участка.
Маршрут на карте
Техническое решение
Данный экран позволяет пользователю редактировать области, которые пользователь планирует охватить. Приложение автоматически напоминает о начале плавания по выделенной области, если пользователь пересек ее границу, либо останавливает текущее отслеживание, когда пользователь покидает эту область.
Технические решения
Редактирование области
Для рисования на карте используется UIPanGestureRecognizer в связке с GMSMutablePath, GMSPolyline и GMSPolygon.
Для удобства области не отображаются все сразу. Используется запрос в CoreData, который фильтрует и масштабирует области для видимого участка карты.
Добавить новую область довольно просто. Пользователю стоит лишь нажать кнопку "ADD NEW AREA" (Добавить новую область) и нарисовать ее на карте. Удаление осуществляется через меню, которое появится после нажатия на нужную область. Все области автоматически добавляются в облако и пользователь может легко синхронизировать их нажав cloud button на любом из устройств.
Экран предназначен для просмотра и редактирования информации о маршруте
Редактирование маршрута
Экран предназначен для просмотра и редактирования информации о маршруте
Редактирование маршрута
Здесь пользователь может просмотреть завершенные маршруты. Cloud button синхронизирует весь список.
Для быстрой синхронизации списка используются метаданные о маршрутах. Геоданные (точки маршрута) скачиваются позже при просмотре информации о конкретном маршрутах.
Список маршрутов
Технические решения
Каждый маршрут имеет два маркера. Первый - Synced, путь синхронизирован с облаком. Второй - красный/синий. Синий маркер имеют те маршруты, где дистанция и время соответствуют минимуму NauticEd.
  • Инструменты:
    Objective-C, CoreLocation, Bolts, AFNetworking, FBSDK, Autolayout, CoreData, MessageUI, Contacts, Google Maps, Facebook SDKs, Bolts, Crashlytics
  • Grant Headifen
    Основатель и директор NauticEd
    Thanks very much for your high quality and very hard work. It is very much appreciated. We now have over 46000 students registered. I get emails every day expressing thanks for a great learning program and online and app experience.
Оставьте запрос и мы свяжемся с вами!
Хотите приложение?