我想为商场构建一个Android应用程序,因此用户可以在代表商场每个楼层的地图中导航,并计算他的位置和所选地点之间的最短路径,商场位于中东,我听说过谷歌室内地图,但我想我不能使用它,我需要为那个商场制作一张,我可以制作 3-D 吗?任何建议或有关此的文章都可以提供帮助。
2 回答
这不是您问题的好答案,但我认为它会为您节省一些工作。您描述的应用程序会有一些问题。主要是,如果你想在商场地图上显示用户的位置并计算到它的最短距离。如果您的商城在室内,您将如何获取用户的位置?GPS在室内不是很可靠,除非到处都有窗户。另外,您需要进行 3-D 修复才能确定用户所在的楼层。
作为@hsander 想法的衍生产品,您可以让用户为附近商店的标志/徽标拍照,并使用图像处理(例如Google Goggles)来匹配它并确定用户的位置。您将无法实时显示用户的移动,但这将是一个“免费”的解决方案,您将能够处理多个楼层的问题。
如果你有预算和能力在商场里安装东西,你可以在商场屋顶的不同地方安装GPS天线,然后用中继器在商场内广播信号。我的公司有这样的设置,我在室内得到无可挑剔的 GPS。您将能够通过他们的 GPS 坐标知道用户离哪个中继器更近,并相应地引导他们。
在显示方面,您可以使用简单的 View 或 SurfaceView 来显示地图平面图。使用与地图相关的 API 可能会有点过头了,如果没有用户的位置,它的用处就更小了。我建议计算最短路径,您创建一个图形并使用Dijkstra 的最短路径算法。您可以使用 Google 地图来帮助您创建具有真实距离的节点图。
正如塞缪尔所说,你将无法使用 GPS。
我在这里看到两个选项:
- 您需要安装某种硬件来将位置传达给您的软件,这可能意味着已知位置的 wifi 接入点。这将是昂贵的,并假设用户有 wifi 或您决定的任何通信类型。
- 经常使用整个商场的二维码(每家商店?),让用户扫描它们以找出它们的位置。它不像实时知道你在哪里那么酷,但它很容易而且很有效。