Создание плана этажа (Google Maps) - PullRequest
0 голосов
/ 09 июля 2011

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

Клиент в основном хочет создать веб-приложение, которое показывает план этажа большого здания и по запросу пользователя отображает направления в разные комнаты здания и из них. Чтобы было проще понять, я взял случайный план этажа от нашего друга Google, чтобы объяснить сценарий:

План этажа

Теперь представьте, что пользователь хочет узнать, как перейти от «40 Seat Classroom» к «70 Seat Classroom». Мой клиент хочет, чтобы приложение показывало на плане здания маршрут, по которому можно добраться из этой конкретной комнаты в другую.

Здание, для которого мы хотим сделать это, огромно, с сотнями комнат, что означает тысячи различных сценариев маршрутов, так что это не будет делом создания графики для каждого сценария!

Есть ли способ сделать это? Принимая во внимание тот факт, что приложению необходимо точно знать, где находятся все возможные маршруты, это похоже на карты Google. Было бы здорово, если бы мы могли использовать API-интерфейс Google Map для создания направлений вокруг пользовательского плана этажа, но я уверен, что это невозможно!

Буду очень признателен за любой совет о том, какое направление выбрать.

Спасибо,

Ash

1 Ответ

2 голосов
/ 09 июля 2011

Используйте карту только для создания ее графического представления (например, в каждой комнате один узел, и в каждой точке коридора есть доступ к комнате, другой узел, плюс узел для пересечения коридоров). Храните с вашими узлами, какую точку карты они представляют. Свяжите узлы с сегментами, представляющими расстояние.

Теперь вы просто используете POD (Plain Old Dijkstra *) и вычисляете путь, используя график.

Следуйте по пути и нарисуйте на карте линию, связывающую точки, представленные узлами на карте.

*: Или как там написано ..

...