【问题标题】:iPhone 3G: How to show locations around a fixed point?iPhone 3G:如何显示固定点周围的位置?
【发布时间】:2010-10-24 12:07:26
【问题描述】:

我通过 CoreLocation 修复了当前位置。现在我想获取那些位置(从现有数据库中),它们在它附近(大约 100 英尺)。

我该如何开始?


更新:这里是 Haversine 公式的实现:http://www.jaimerios.com/?p=39(非常有用)

【问题讨论】:

  • 这更像是一个“我如何计算点之间的距离”的问题,而不是一个特定的 iPhone/Objective-C 问题?
  • 不,我想过如何用 CoreLocationo 解决这个问题 ;-)
  • 好一个 rijstellin。因为如果是这样,那么 Paul Betts 就有你的答案,Stefan。

标签: iphone cocoa-touch geolocation gps core-location


【解决方案1】:

CLLocation为此提供了一个方法:

- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location

您需要知道每条记录的纬度和经度,然后按此方法返回的距离排序。

【讨论】:

    【解决方案2】:

    高中几何FTW:

    dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))
    

    为了使 SQL 查询更容易,您可以做的一件事是将地图拆分为“图块”,即 2 公里 x 2 公里的区域,以便您可以查询到图块,然后循环遍历结果使用这个公式。

    【讨论】:

    • 但是我不能在我的每个位置都应用这个公式(它是一个大约有 3500 个位置的数据库)。所以我想会有一个资源友好的方法,它包含在 CL 中。
    • 这不是一个好方法,因为地球是球形的,而您正在执行从 A 点到 b 点的直线测量。
    • 他想知道当前位置 100 英尺以内的东西,我认为你不必担心这里的球面失真 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多