仅过滤距离数据库最近的位置
Filter only nearest locations from DB
我有一个 Firebase 数据库,用户在使用应用程序时会在其中更新他的位置(纬度和经度)。同时,用户可以看到其他用户的所有位置,这些用户正在以相同的方式更新他们的位置。
我想显示与用户 X 距离内的所有用户位置。有什么算法或什么东西可以过滤吗?现在,如果用户在美国,他将看到所有位置事件,他可以看到来自法国的活跃用户的位置。
我正在使用 MapKit 和 CoreLocation
您可以在 CLLocation
对象上使用 distance
,并打印出您所需距离内的对象。
像这样:
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
}
我有一个 Firebase 数据库,用户在使用应用程序时会在其中更新他的位置(纬度和经度)。同时,用户可以看到其他用户的所有位置,这些用户正在以相同的方式更新他们的位置。
我想显示与用户 X 距离内的所有用户位置。有什么算法或什么东西可以过滤吗?现在,如果用户在美国,他将看到所有位置事件,他可以看到来自法国的活跃用户的位置。
我正在使用 MapKit 和 CoreLocation
您可以在 CLLocation
对象上使用 distance
,并打印出您所需距离内的对象。
像这样:
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
}