簡體   English   中英

過濾由於用戶當前位置而導致的位置數據庫的半徑

[英]Filter a database of locations due to user's current location with radius

大家好,我正在開發一個特定的android應用,該應用在一個國家/地區具有BigData位置信息,我想根據用戶當前所在的半徑來過濾這些位置信息。

為了說明我的目的,我的用戶是一位汽車駕駛員,他通過使用Markers指定起點和終點在Google Map上選擇了一條隨機道路,然后我使用Google API在這些點之間繪制了一條道路

我想做的是從我的數據庫中獲取僅位於所選道路上的位置,因此我想到了根據用戶的當前位置過濾數據庫位置,並為其指定半徑作為道路上的距離(兩者之間的距離)用戶選擇的標記),然后開始在地圖上顯示它們。

注意:我考慮過將數據庫中的位置與用戶的當前位置進行比較,如果它比半徑(兩個標記之間的距離)短,那么我會將其添加到過濾結果中

但我認為擁有BigData實在是一團糟,比較起來需要太多時間。

Google Maps是否提供可用於過濾此問題的算法或API? 即使它是用Web編程語言編寫的,我也可以創建一個Web服務來處理它並將其發送到我的應用程序。

使用附近的KD樹K過濾遠離汽車的點。 這就是N倍的時間復雜度。 但是插入樹是N * log N

我找到了解決我問題的方法

在我的應用程序中,我使用Firebase作為雲備份,幸運的是,它具有一個執行GeoQueries的庫,稱為GeoFire,其文檔在此處

由於特定的位置(以毫秒為單位的半徑),它可以創建Firebase中所有保存位置的查詢,這正是我真正需要的

暫無
暫無

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

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