我想构建一个位置感知应用程序,它可以自动检测用户的位置,并向他们呈现来自地标数据库的最近地标的排序列表。该应用程序将建立在iPhone上。在iPhone上构建“查找最近的”位置感知应用程序的最佳方式是什么?
最根本的问题是:
- 如何计算距离附近的标志性建筑和排序“最近的”
- 在哪里进行计算 - 通过Web服务在外部服务器上 - 或在iPhone本身通过SQLite数据库和/或核心位置
理想情况下,应用程序将使用“路由距离”来计算距离,而不是乌鸦距离(即更大的圆距公式),作为更准确的方法。当然,这会带来成本 - 计算起来会慢得多。我想知道哪种方法最合适。
此外,在手机本身上执行计算(使用核心位置?)的优点是不需要与服务器交谈(更快),并且可以在没有互联网连接的情况下使用该应用程序。缺点在于保持地标数据库与最新数据同步的困难。
我想知道是否有行业标准的方式来实现这样的位置感知应用程序。如果没有,请提出最佳解决方案。
你提出了一个很好的建议 - 一种混合方法。我想知道缓存整个城市的地标数据是否可行(只有最多1000行左右)。 只缓存10英里范围内的最近位置可能是最有效的,但我不太确定如何为寻找“最近”的地标找到最佳解决方案。即如果用户稍微移动,但仍在该半径内,则不能保证最近的位置也会如此。处理重叠地点问题可能有点棘手。 – mwalsher 2009-07-29 02:37:09