Как работает внутренняя навигация в iOS с помощью iBeacon?

Я работаю над проектом, который требует использования внутренних правил с помощью iBeacon . Я много искал, я нашел только некоторые платные SDK и другие инструменты. Я знаю, как iBeacon используется для внутренней навигации, но есть некоторые проблемы. Я хочу перенести местоположение пользователя первым маяком на другой, но только по определенному пути, но теперь, когда пользователь перемещается, а не по местоположению, не следует по пути, указанному мной. Пожалуйста, дайте мне знать. Заранее спасибо!!

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

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

  1. Конфигурация местоположения маяка : вам нужна система для регистрации местоположения каждого маяка в широте / долготе и получения этой конфигурации в мобильном приложении.
  2. Определение местоположения . Основываясь на обнаружении ближайшего маяка (-ов), вы должны создать модуль, который определяет положение мобильного телефона пользователя на основе вышеприведенной конфигурации.
  3. Двигатель отображения карты
  4. Преобразование координат системы из местоположения маяка эталонной конфигурации кадра к карте координат.
  5. Модуль Wayfinding : на основе настроенных маршрутов на карте модуль wayfinding будет определять, куда направлять пользователя по этим маршрутам, чтобы добраться до места назначения.

Я работал над командой, которая построила встроенную навигационную систему на базе маяка для выставки Consumer Electronics Show. Многим членам команды потребовалось несколько месяцев, чтобы построить систему с нуля, используя сотни маяков и инструменты низкого уровня. Не стоит недооценивать прилагаемые усилия.

В этом ответе предполагается, что у пользователя не будет других служб определения местоположения (GPS и т. Д.), Это может быть достигнуто с использованием нескольких iBeacons.

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

Таким образом, с достаточным количеством маяков вы можете точно определить местоположение пользователя в помещении (при условии, что вы знаете точное местоположение iBeacons заранее).