我有一个Firebase数据库,用户在使用应用程序时会更新其位置(纬度和经度)。同时,用户会以相同的方式查看其他用户的所有位置。
我想显示距用户X距离的所有用户位置。是否有任何alghoritm或东西过滤?现在,如果他在美国,用户将看到所有位置事件,他可以看到来自法国的活跃用户的位置。
我正在使用MapKit和CoreLocation
答案 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
}