0

在我的应用程序中,我想发送(可能通过查询)一个用户的地理点(userLocation),他的汽车坏了,他被困了。作为回应,我想找回所有愿意联系被困用户的维修店。每个 Repair_Shop firestore 文档都包含他们的地理点 (shopLocation) 和一个以公里为单位的数字 serviceDistance,这是他们的服务半径 (serviceRadius)。我想要一个满足条件 serviceDistance <= |userLocation - shopLocation| 的 Repair_Shop 集合中的所有文档的响应。

我已通读 GeoFirestore 文档,但不太确定如何实施。自然无法在前端进行计算。但是我应该发送什么作为查询,如果可能的话,我应该在 Firestore API 上做什么,以便获得预期的文档快照?

谢谢。

4

1 回答 1

0

使用单个地理查询无法做到这一点。原因很简单:北极可能有一家维修店愿意行驶 10,000 公里来维修搁浅的车辆。因此,您基本上总是必须请求所有商店,然后在客户端对它们进行排序/过滤。

这个问题本质上是一样的:

正如我在那里回答的那样,最好的选择是从一个合理的范围开始,并查询该范围内的所有文档。如果这不会导致结果,请使用更大的范围再试一次。

于 2019-07-02T14:22:38.147 回答