В рамках своего проекта в колледже я разрабатываю специальное приложение для мобильной навигации. Я использую J2ME.
Под индивидуальным подходом я подразумеваю, что приложение может использоваться только там, где пользователь желает их использовать. Теперь «индивидуальная» область - это помещение моего колледжа. Поэтому, если любому ученику понадобятся указания, чтобы добраться до его классной комнаты или блока, он будет направлен в это место.
Я не могу использовать карты Google, потому что кампус не полностью покрыт ими. Поэтому я беру координаты всех блоков и дорог, сохраняю их в своем магазине и создаю мини-карту координат.
Теперь настоящая проблема заключается в том, «Как реализовать навигационную часть приложения»?
Это мой текущий план действий по реализации.
Я решил использовать алгоритм Дейкстры, чтобы найти кратчайший путь. Я просто добавлю текущую позицию пользователя в график и назову его источником.
Матрица смежности затрат будет заполнена в рамках программы.
Теперь алгоритм работает, и кратчайший путь генерируется с первой инструкцией, скажем, например. Двигайтесь на 100 метров на север.
Пользователь продолжает как таковой, но делает ошибку и идет в неправильном направлении. Как я постоянно проверяю, движется ли пользователь в правильном направлении?
Если я проверяю его положение каждые 10 секунд и предупреждаю его, если он движется не в том направлении (я тоже не знаю, как это сделать! Т.е. проверяю, в правильном ли он направлении) и снова генерирую новые направления, я не буду замедлять работу приложения?
Есть ли лучший способ реализовать это?
PS: Пожалуйста, помогите мне с тем, как координаты должны храниться в моей базе данных (Landmarks Store)
Должен ли я хранить координаты для каждого небольшого расстояния (например, 5 мс) или использовать более длинное расстояние, чтобы уменьшить количество узлов в графе и алгоритм работал быстрее.