Пользовательская карта с указаниями
Вопрос
Я хочу создать программу-карту, которая будет указывать направление вокруг кампуса (общежития, футбольное поле и т. д.) и внутри зданий (к офисам, кафетерию и т. д.).Существует ли что-нибудь, что могло бы способствовать этому?
Альтернативой, похоже, является то, что мне придется создать свою собственную карту точек и путей вокруг кампуса и выполнять поиск направлений.
РЕДАКТИРОВАТЬ:Чтобы внести ясность, я хочу знать, как добавить пространственную осведомленность в программу поиска пути, чтобы генерировать пешеходные маршруты для пути.Пример:для коридора, полного офисов и имеющего два узла, через которые можно пройти в коридор, как узнать, находится ли определенный офис слева от одного узла и справа от другого?
Решение
Если я использую полигоны для узлов вместо путевых точек, я могу создать навигационную сетку, которую можно использовать для поиска пути и направлений.Для направлений и использования узла прямоугольника, если я даю номера сторон прямоугольника от 1 до 4, идущие по часовой стрелке сверху, я знаю, что если я войду на сторону 2 и выйду из стороны 1, это будет поворот направо.Или, если я войду на сторону 3 (скажем, внизу) и выйду из стороны 4, это будет левая сторона.
Другие советы
На этот вопрос довольно сложно ответить, не зная, какой интерфейс вам нужен.Это должно быть приложение типа Google Maps?Или что-то попроще?Неважно, что вам, вероятно, придется определять пути - какие вещи непроходимы.
Вы могли бы проделать большую работу и определить, что непроходимо, а затем использовать алгоритм поиска пути, чтобы ходить по лужайкам;но это будет больше работы, чем простой подход:
- Создайте карту кампуса, на которой все маршруты будут выделены серым цветом.
- Определите точки и пути в PHP/Perl/Ruby/Python/Coldfusion/ASP.Net/Whatever.
- Получите начало и пункт назначения от пользователя
- Запустите алгоритм Дейкстры
- Отобразите карту кампуса с наложениями, выделяющими сегменты маршрута, чтобы осветить их путь.