О разработке приложения для определения местоположения пользователей мобильных устройств

№94-1,

технические науки

В статье рассматривается создание приложения для определения местоположения пользователей мобильных устройств.

Похожие материалы

Системы позиционирования широко распространены в современной жизни. Данные системы могут эффективно использоваться практически во всех сферах деятельности человека, будь то определение местоположения человека, навигация судна или сбор статистических данных для организации сложных бизнес процессов; в робототехнике и мехатронике; транспортных и беспилотных системах, Car2Car-технологиях и пр. [1, 2, 3]

Рассмотрим создание приложения для определения местоположения пользователей мобильных устройств (смартфонов, планшетов и пр.) на базе операционной системы Android в среде разработки Android Studio.

Android Studio представляет собой бесплатную среду для разработки мобильных приложений, запускаемых под операционной системой Android, где основным языком программирования является язык Java.

При разработке приложения были использованы следующие элементы управления (или View):

  1. TextView. Данный View предназначен для отображения текста без возможности редактирования его пользователем;
  2. EditText. Данный View представляет собой однострочное поле для ввода текста;
  3. Button. Данный элемент управления представляет собой командную кнопку, действия над которой можно описать программно;
  4. ListView. Данный View представляет собой прокручиваемый список элементов;
  5. Checkbox. Данный элемент управления представляет собой пустое поле для установки (или снятия) флажка и используется для задания каких-либо параметров.

Для быстрой и удобной навигации по приложению была разработана простая и понятная структура, а также интуитивно понятный интерфейс. При запуске приложения пользователь видит приветственное окно с названием приложения и мини-инструкцией для начала работы (рис. 1).

Главный экран приложения
Рисунок 1. Главный экран приложения

После нажатия на кнопку в правом нижнем углу экрана открывается окно входа, на котором предлагается ввести логин для входа, после чего запустится процесс регистрации, если пользователь еще не зарегистрирован в приложении, либо выполнится вход.

Зарегистрируясь и войдя под своим логином, пользователь приложения переходит к окну выбора пользователей (рис. 2), за которыми он собирается наблюдать. Выбрав одного (или нескольких) пользователей, приложение предложит перейти к экрану с картой (рис. 3), на котором, помимо прочего, находится кнопка в правом нижнем углу, при нажатии на которую можно быстро определить свое местоположение, а также текущее местоположение всех пользователей приложения, изменяющееся в реальном времени.

Из каждого из выше перечисленных экранов можно перейти в меню настроек, при помощи которого можно настроить внешний вид карты и метод перемещения пользователей.

Экран выбора пользователей
Рисунок 2. Экран выбора пользователей
Экран с Google-картой
Рисунок 3. Экран с Google-картой

Вид карты можно выбрать один из трех:

  • дорожная карта, на которой видны только дороги для навигации;
  • спутниковые снимки для фотореалистичного просмотра местности;
  • комбинированный режим, который объединяет предыдущие два, если требуются все преимущества.

Основным назначением приложения является отслеживание и контроль местоположения человека, использующего данное приложение. Для этого были разработаны несколько функций, такие как:

  • возможность контроля пользователя в пределах заданного радиуса. Для этого нужно нажать на маркер нужного нам пользователя, после чего в окне настроек необходимо поставить галочку на пункт меню «Наблюдение в радиусе», ввести требуемый радиус и нажать «ОК».

При выходе пользователя за пределы указанного радиуса происходит звуковое и визуальное оповещение (рис. 4).

Оповещение о выходе за пределы радиуса
Рисунок 4. Оповещение о выходе за пределы радиуса

Данная функция была реализована путем определения расстояния между текущим местоположением пользователя и центром отрисованной ранее окружности.

  • возможность контроля местоположения пользователей на заданной нами траектории. Для этого в окне настроек необходимо поставить галочку на «Наблюдение по маршруту», ввести конечный адрес пользователя или указать конечную точку на карте и нажать на кнопку «ОК». После чего на Google-карте отрисуется маршрут от выбранного пользователя до конечной указанной точки. Если пользователь отклоняется от маршрута на заданное количество метров, то будет выдано соответствующее оповещение. Также, по достижении конечного пункта будет сделано оповещение о его достижении и времени окончании пути.

Дистанцию, на которую разрешено отклониться от траектории, можно задать в меню настроек приложения (в пределах от 5 до 150 метров).

Контроль местоположения пользователя по заданной траектории был реализован посредством определения наименьшего расстояния пользователя до каждой точки пути.

  • возможность выбора способа перемещения пользователей. Для этого в приложении предусмотрено два вида перемещения: пешком и на машине.

В зависимости от того, какой метод будет выставлен в настройках, при контроле по маршруту будет отрисовываться свой маршрут.

К примеру, если выбрать вид «Пешком», то маршрут будет строиться по близлежащим дорогам. При выборе вида «На машине» маршрут строится по автомобильным трассам.

  • возможность просматривать историю перемещений пользователя. Данная функция будет полезна, если нет времени постоянно наблюдать за перемещениями пользователя, но необходимо знать, каким путем он шел и отклонялся ли от заданной траектории (рис. 5).
История перемещений пользователя
Рисунок 5. История перемещений пользователя

Таким образом, разработанное приложение позволяет осуществлять контроль местоположения пользователей, как в пределах заданного радиуса, так и по некоторой траектории, оснащено функцией оповещения в случае отклонения пользователя от заданного маршрута и может быть использовано родителями для контроля местоположения своих детей.

Список литературы

  1. Антипин А.Ф. Организация эффективной работы преподавателей в условиях рейтинговой системы обучения // Прикладная информатика. 2014. № 3. С. 48-59.
  2. Степашина Е.В. Оптимизация финансовых показателей предприятия на основе нейросетевой модели // Информационные системы и технологии. 2014. № 5. С. 34-42.
  3. Седова Н.А., Седов В.А. Методы оценки качества полученных решений // Южно-Сибирский научный вестник. 2012. № 1. С. 88–91.