如何为 iOS 应用程序构建内部地图导航?

Posted

技术标签:

【中文标题】如何为 iOS 应用程序构建内部地图导航?【英文标题】:How to build inhouse map navigation for iOS application? 【发布时间】:2013-04-11 04:12:23 【问题描述】:

我有一个需求如下:

已有平面图图片 首先检测地板上的当前位置 然后使用平面图图像选择目的地位置 现在应用程序应提供该源到目标路径的方向和距离 这就像谷歌方向的工作原理,但它的内部地图需要。

例如, - 用户的当前位置是:在他的办公桌上 - 11 号会议室在哪里 - 因此应用程序应在地图/平面图图像上提供方向和距离更新。

任何形式的建议/帮助都会很棒。

提前致谢

【问题讨论】:

如果您要根据用户的 GPS 坐标使用用户位置,则需要对您的地图进行地理编码。对于地图的左上角和右下角,以及所有“兴趣点”(即会议室等),您至少需要经纬度坐标。尽管听起来您的用户可能会遇到准确性问题待在室内,可能会遇到 GPS 卫星锁定问题。 您也有什么想法吗,您有没有尝试过,或者您是否希望有人在这里为您提供答案? 嗨罗格,是的,我必须找到相同的解决方案。而且我发现谷歌室内是一回事,它的行为方式相似。但我猜它只对桌面和安卓有限制,它不支持 ios 设备。 关于地理编码地图的意思。如何做到这一点? 嗨@Rog:我已经得到了左上角和右下角以及兴趣点的坐标 - 现在我需要什么来绘制路径的方向。 (从地点到地点) ?如何做到这一点? 【参考方案1】:

几个点...

您可以创建各种音频文件并将它们作为基于路由的路径点播放。与“在下一个灯右转”相同的原则。

绝对希望将您的准确度设置为:kCLLocationAccuracyBest。但这仍然可能最多只能让您获得大约 +/- 10 米的精度。

使用 MapOverlayView 进行平面图叠加。

如果您在室内,iPhone 会使用手机信号塔或 WIFI 进行定位。这对您来说可能是个问题,因为如果您要绘制多个楼层的地图,只有 GPS 可以为您提供海拔读数 - 一楼、二楼等...

我不想对你的想法泼冷水,但我还没有听说有人成功地在 iPhone 上使用标准的东西制作了室内导航应用程序。如果你真的想推进这个项目,你最好的准确度可能是使用室内蓝牙发射器作为导航信标......?

【讨论】:

这真的很棒。谢谢 :)【参考方案2】:

你想要的是地图中的路径规划,是吗?如果是这样,您可以使用很多算法。您可以根据您的地图和分辨率需求选择块大小,将 de map 划分为该块,并将每个块标记为可导航或不可导航。然后从第一个块开始尝试向目标块的方向前进,检查邻居块是否被阻止,然后继续前进,直到到达(或没有,如果它无法到达)目标块。

这是一个伪实现,如果我了解您的需求,您可以选择这样做。

(我不知道其他人所说的您的硬件,具有简单的 GPS 和室内导航,假设 15m 分辨率是乐观/悲观信号之间的良好平衡,如果它用于机器人导航,它在 GPS 中不是一个很好的方法术语,但算法是)。

【讨论】:

硬件方面的一些考虑。即使 GPS 也不会给您提供足够的分辨率来找到您所在的楼层(考虑到 15m 的分辨率,对于室内导航来说,这是乐观的)。现在更现实一点,GPS很少用于室内导航,实际上只用于大环境,我认为您拥有的是相机和加速度计,取决于用途(机器人导航可以得到很好的结果)但用于用户导航那真的很难存档。即使对于您配置了硬件的机器人导航,使用低成本硬件也并不简单。

以上是关于如何为 iOS 应用程序构建内部地图导航?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用谷歌地图在Android / iOS上创建转弯GPS导航应用程序?

flutter 第三方地图导航实现

微信小程序如何设置地图导航

ArcGIS api for javascript——地图配置-定制导航箭头

IOS实现应用内打开第三方地图app进行导航

带有多个离线地图的 iOS 导航应用程序:使用哪个库?