我的火力库数据库中给出了具有位置(长和纬度)和半径(以公里为单位)的用户列表,有效地定义了各个"动作圈",例如
{
"users": {
"foo": {
"lat": 11.2549387,
"long": 17.3419559,
"radius": 50
},
"bar": {
"lat": 9.5123445,
"long": 17.1221547,
"radius": 80
}
}
}
我的目标是查询其圈子覆盖特定位置的所有用户(同样是长和拉)。由于用户列表可能很长,因此每次只为每个用户计算到该位置的距离是没有意义的。
我知道GeoFire for JavaScript,但这并不能完全解决我的问题,因为它不适合具有非固定半径的计算。
解决方案应该是客户端(JavaScript)或云功能。有什么想法?
答案 0 :(得分:-1)
GeoFire是您的解决方案,因为它会为您优化查询。
我知道GeoFire for JavaScript,但这并没有解决我的问题 问题完全是因为它不适合用a计算 非固定半径。
它可以使用非固定半径,只需更新您的查询半径和/或与新用户拉长,它将获得附近的用户。
对于Geofire,您需要一个额外的seprate节点来存储每个用户的地理位置对象