相关疑难解决方法(0)

查询附近的位置

我正在使用Firebase来存储用户上次扫描的纬度和经度.

条目如下所示:

"Bdhwu37Jdmd28DmenHahd221" : {
  "country_code" : "at",
  "firstname" : "John",
  "gender" : "m",
  "lat" : 11.2549387,
  "lon" : 17.3419559
}
Run Code Online (Sandbox Code Playgroud)

每当用户按下特定的"搜索"按钮时,我希望我的Firebase功能可以获取离发送请求的人最近的人.

由于Firebase只允许在一个字段后查询,因此我决定添加country_code,以便对该字段进行一些范围限制和查询.但是当我加载特定国家/地区的每个用户然后检查给定用户与同一国家/地区中所有其他用户之间的最小距离时,它仍然非常慢.

已经有5个用户,该功能需要40秒才能达到效果.

我还读过有关复合索引的内容,但我需要以某种方式结合纬度和经度并查询这两个字段.

有没有办法让这里涉及第二个和第三个查询(例如搜索相同的country_code,然后搜索类似的经度和纬度)或者我是否必须在我的服务器代码中解决这个问题?

firebase firebase-realtime-database

13
推荐指数
1
解决办法
9330
查看次数