使用 GeoFire 获取到多个点的最近点

Posted

技术标签:

【中文标题】使用 GeoFire 获取到多个点的最近点【英文标题】:Get the closest point to multiple points with GeoFire 【发布时间】:2021-08-15 15:13:11 【问题描述】:

我想从 Firebase 实时数据库中找到离其他多个点最近的点(一个点表示为 [Latitude, Longitude] 的 2 元素数组)。

想象一个食品订购应用程序,其中包括多家餐厅当然还有多个送货员,我想找到可以从多个餐厅在多个地点提供食物的送货员 > 给用户。

这可以通过 GeoFire 和实时数据库或 Firestore 和 GeoFirestore 实现吗?

【问题讨论】:

【参考方案1】:

GeoFire(和其他基于 geohashes 的地理查询系统)只能返回特定地理范围内的项目。没有选项只返回最接近的项目,因此您必须自己在客户端代码中执行此操作。

要实现这种类型的用例,您通常会:

    从(您认为的)合理范围开始。 如果您得到任何结果,请按距离排序并选择最接近的结果。 如果没有结果,请扩大范围并重试。

【讨论】:

以上是关于使用 GeoFire 获取到多个点的最近点的主要内容,如果未能解决你的问题,请参考以下文章

确定多个点的质心

如何从 Real-time Firebase 检索使用 Geofire 设置的多个位置并在 Android Studio 的地图上显示它们?

用turf.js求多个点的外包多边形

用turf.js求多个点的外包多边形

查找与指定方向的空间点的最近距离

如何使用具有多个页面和入口点的 React 和 TypeScript 设置 chrome 扩展?