簡體   English   中英

有沒有一種簡單有效的方法來查詢 Firebase 上的地理點?

[英]Is there an easy and efficient way to query geopoints on Firebase?

我目前正在開發基於地理位置的 Flutter 應用程序,我需要根據可變半徑進行查詢。

我數據庫中的每個文檔都有一個名為“position”的字段,其中包含 geohas 和 geopoint,問題是我知道的唯一庫是 geofire,但這並不是很有效,因為如果我查詢某個半徑(10 公里)而不是我需要從 10 公里查詢到 20 公里,我不能:我可以用固定的 20 公里半徑再次查詢,這意味着我查詢(並支付)前 10 公里是免費的,因為我已經有了它們。

問題是我知道的唯一圖書館是geofire,

據我所知是目前唯一的一個。

如果我查詢某個半徑(10 公里)

這肯定是可能的。

比我需要從 10km 查詢到 20km 我不能

您無法查詢,但您可以獲得 10 公里到 20 公里的位置,我認為這是您想要的。 由於你已經有了 10km 內的位置,所以當你查詢 0km 到 20km 的位置時,你得到的每個位置都是新的,即位於 10km 到 20km 之間。

這意味着我免費查詢(並支付)前 10 公里,因為我已經擁有它們。

不,您無需為 10 公里以內的位置付費,因為這些位置來自緩存。 因此,當您執行第二次查詢(從 10 公里到 20 公里)時,您只需為該范圍內的位置付費。

如果您想直接獲取 10 公里到 20 公里的位置,而不需要 0 公里到 10 公里的位置,就會出現問題。 在這種情況下,您獲取 0km 到 20km 的所有位置,然后執行另一個查詢以獲取 0km 到 10km 的所有位置。 現在,要獲得從 10 公里到 20 公里的所有位置,只需刪除從第二個查詢中獲得的所有位置。 因此,在這兩種情況下,您都需要執行兩個查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM