-1

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

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

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

4

2 回答 2

1

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

于 2012-07-31T14:26:18.107 回答
0

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

我不知道任何现有的组件可以为此执行视觉任务,但也许你可以通过 google 找到一些东西。但是我不会推荐它。我只会创建自己的组件(使用 aTextView并在其上绘制我的东西)。它更加灵活,不需要太多努力,您可以选择功能和数据格式,这在这种情况下非常有用......

一旦你运行了所有的其余部分(这是很多!),你仍然可以决定寻找一些可以集成甚至谷歌地图的奇特组件,能够缩放左右。

于 2012-07-31T14:32:28.983 回答