仅过滤DB中最近的位置

时间:2017-09-19 09:05:07

标签: swift firebase firebase-realtime-database core-location coordinate

我有一个Firebase数据库,用户在使用应用程序时会更新其位置(纬度和经度)。同时,用户会以相同的方式查看其他用户的所有位置。

我想显示距用户X距离的所有用户位置。是否有任何alghoritm或东西过滤?现在,如果他在美国,用户将看到所有位置事件,他可以看到来自法国的活跃用户的位置。

我正在使用MapKit和CoreLocation

1 个答案:

答案 0 :(得分:1)

您可以在distance对象上使用CLLocation,然后打印出所需距离内的对象。

这样的事情:

let userLocation = CLLocation(latitude: userLat, longitude: userLong)
let anotherLocation = CLLocation(latitude: anotherLat, longitude: anotherLong)
let distance = anotherLocation.distance(from: userLocation)

if distance < desiredDistance {
     // within range
}