仅从数据库中过滤最近的位置

Posted

技术标签:

【中文标题】仅从数据库中过滤最近的位置【英文标题】:Filter only nearest locations from DB 【发布时间】:2017-09-19 09:05:06 【问题描述】:

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

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

我正在使用 MapKit 和 CoreLocation

【问题讨论】:

【参考方案1】:

您可以在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

【讨论】:

Np,很高兴为您提供帮助!

以上是关于仅从数据库中过滤最近的位置的主要内容,如果未能解决你的问题,请参考以下文章

仅从 jq 中的外部文件中过滤特定键

仅从 MySql 中最近的比赛中获取玩家的总得分

将用户的位置存储在数据库中并为他找到最近的用户

云套件:如何仅从您的联系人组获取公共数据库订阅通知

MongoDB请求:仅从嵌入数组中的嵌入文档中过滤特定字段

仅从 IMAP 服务器获取新邮件