gpt4 book ai didi

iphone - 在 iPhone 上构建 "find nearest"位置感知应用程序的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:51:24 25 4
gpt4 key购买 nike

我想构建一个位置感知应用程序,它可以自动检测用户的位置并向他们展示地标数据库中最近地标的排序列表。该应用程序将构建在 iPhone 上。

基本问题是:

  1. 如何计算到附近地标的距离并按“最近”排序
  2. 在何处执行计算 - 通过网络服务在外部服务器上 - 或者通过 SQLite 数据库和/或 Core Location 在 iPhone 本身上执行计算

理想情况下,应用程序将使用“路由距离”而不是乌蝇距离(即更大的圆距离公式)来计算距离,这是更准确的方法。当然,这样做是有代价的——计算起来会慢得多。我想知道哪种方法最合适。

此外,在手机本身上执行计算(使用 Core Location?)的优势在于无需与服务器通信(速度更快),并且可以在没有互联网连接的情况下使用该应用程序。缺点是难以保持地标数据库与最新数据同步。

我想知道是否有行业标准的方法来实现这样的位置感知应用程序。如果不是,请提出问题的最佳解决方案。

最佳答案

对于您的大部分问题,我建议采用两层解决方案。使用最快的解决方案进行粗略的决策,然后对 HitTest 门的结果进行精细的决策。例如,对于您是存储在设备上还是服务器上的问题,我建议根据用户的最后位置在设备上存储“本地化”的东西。也就是说,用户在她可能再次靠近之前靠近过的东西,所以这些东西应该同步下来。当用户离开一个区域时,该区域的东西应该被移到最近最少使用的列表中,并最终被清除。所以当你去到一个新的位置时,它会暂时变慢,但随着时间的推移会加速。

关于排序,同样,两层是最好的。首先按乌蝇分类。然后,如果路由很便宜(尽管可能不是),您可以通过路由对热门点击进行排序。如果用户只会看到 20 个匹配项,那么某个条目是 #80 还是 #100 都没有关系。太远了,无法关心,所以也太远了,无法计算。

一般来说,关于在 iPhone 上进行排序,我强烈推荐速度而不是准确性。如果某件事本应排名第一,但实际上排名第三,那么这与计算 20 秒与 5 秒相比无关紧要。

关于iphone - 在 iPhone 上构建 "find nearest"位置感知应用程序的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1191068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com