2010-09-16 55 views
3

这位教授给了我们一个分配,以便在接下来的几个月内完成,我们必须编写一个基本上是建筑物楼层映射系统的web应用程序。就像谷歌地图的一个非常简单的版本一样,人们需要能够查找一个房间,并能够从地板的一部分到另一部分获取指示。我从来没有做过任何主要的网络编程,甚至不知道如何开始。是否有我可以使用的Google Maps或Mapquest API,或者是否必须从头开始?我并没有要求任何人为我解决这个问题,只是将我推向正确的方向,以便从何处着手。关于网络编程的问题,地图需要具体说明

+1

我不认为谷歌地图API或Mapquest服务将帮助你很多关于路由。他们只能使用自己的街道数据库。 – LarsH 2010-09-16 22:46:30

+0

对于你有什么问题,你可以更具体些吗?制作一个网络界面?实现寻路算法? – 2010-09-16 22:48:09

+0

我从来没有做过任何主要的网络编程,我不知道如何构建地图的物理接口。我希望谷歌地图有一个API允许我从地图的地图中添加信息,以便为我构建和构建地图。 – MapStress 2010-09-16 23:16:17

回答

2

我建议任务的思想为三个部分:

  1. 显示地图 (可能,最佳的效率, 懒洋洋地加载瓷砖像谷歌地图 一样)
  2. 的图像代表房间和他们之间的连接 作为graph。使用图形 让您轻松使用 证据充分的算法类似 A*Dijkstra's找到 从A点到 点B.
  3. 最短的路线从点击转换图像 到一个节点上图表,并从图上的 节点到 图像中的点。可能每个节点应该只存储一对(x,y) 坐标。

有了这样的安排,所有的代码所要做的就是:

The first time the user clicks 
{ 
    Identify the nearest node to their click as node A; 
} 
The second time the user clicks 
{ 
    Identify the nearest node to their click as node B; 
    Use Dijkstras Algorithm or A* to find the shortest route from node A to node B; 
    For each edge in the resulting route 
    { 
    Add a line to the image of the map; 
    } 
    Mark node A with a green dot and node B with a red dot (or something); 
} 
+0

乔恩钉了这个。你的问题,正如原来的要求,写给我们的是“哦,我的上帝,帮助!”将问题分为多个部分,并提出更有针对性的问题。 – 2010-09-17 14:25:55