使用 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 的地图上显示它们?