我通过 CoreLocation 修复了当前位置。现在我想获取那些位置(从现有数据库中),它们在它附近(大约 100 英尺)。
我该如何开始?
更新:这是 Haversine 公式的实现:http ://www.jaimerios.com/?p=39 (非常有用)
我通过 CoreLocation 修复了当前位置。现在我想获取那些位置(从现有数据库中),它们在它附近(大约 100 英尺)。
我该如何开始?
更新:这是 Haversine 公式的实现:http ://www.jaimerios.com/?p=39 (非常有用)
CLLocation
为此提供了一种方法:
- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location
您需要知道每条记录的纬度和经度,然后按此方法返回的距离进行排序。
高中几何FTW:
dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))
为了使 SQL 查询更容易,您可以做的一件事是将地图拆分为“图块”,即 2 公里 x 2 公里的区域,以便您可以查询到图块,然后使用此公式循环遍历结果.