使用java表示拓扑图

时间:2012-07-31 14:14:23

标签: java android

我正在为Android开发一个室内导航程序,我在开头就卡住了:
你如何在java中表示地图?
我更喜欢一种允许我轻松应用Dijkstra算法的方法。

注意:我需要程序知道每个房间的大小以及入口和出口的位置。

编辑:我正在寻找一个在BL而不是用户界面中使用的对象

2 个答案:

答案 0 :(得分:1)

Android有一个名为mapView的内置GUI元素,您可以将其添加到应用程序的屏幕中。它是Google地图,需要您获取应用程序API密钥。您可以为其添加叠加并根据纬度和经度在地图上定位点(我认为它也支持其他方法),这些点可用于Dijkstra的算法。 希望这有帮助,祝你好运。

答案 1 :(得分:0)

我认为,你所描述的是一个扩展的拓扑图(你对节点的绝对位置有一个估计)。因此,您基本上需要一个可以绘制带有连接到节点的位置的图形的组件。此外,您可能希望有可能绘制附加内容(例如wifi连接的热图,蓝牙设备或用于估计您的位置和收集环境信息的任何内容)。您还在处理SLAM问题。

我不知道任何可以执行视觉任务的现有组件,但也许你会发现谷歌的东西。但我不会推荐它。我只想创建自己的组件(使用TextView并在其上绘制我的东西)。它更加灵活,而不是那么多努力,您可以选择功能和数据格式,这在这种情况下非常有用......

一旦你完成所有剩下的工作(这很多!),你仍然可以决定寻找一些可以整合甚至谷歌地图的花哨组件,能够缩放等。