我的 firebase 数据库中给出了用户列表及其位置(经纬度)和半径(公里),有效地定义了各个“行动圈”,例如
{
"users": {
"foo": {
"lat": 11.2549387,
"long": 17.3419559,
"radius": 50
},
"bar": {
"lat": 9.5123445,
"long": 17.1221547,
"radius": 80
}
}
}
我现在的目标是查询其圈子覆盖特定位置的所有用户(同样是 long 和 lat)。由于用户列表可能很长,因此每次简单地计算每个用户到该位置的距离是没有意义的。
我知道GeoFire for JavaScript,但这并不能完全解决我的问题,因为它不适合非固定半径的计算。
解决方案应该是客户端 (JavaScript) 或作为云功能。有什么想法吗?