要創建實時套接字/頻道,我需要離散值,例如具有名稱的聊天室(房間1,房間2等) ,用戶可以選擇/訂閱有限數量的預定義選項。Algo將地球分爲固定區域。然後用算法來查看給定緯度,經度和半徑的哪個區域重疊
對於我的新項目,實時的東西正在地圖上發生。因此,用戶可以發送緯度,經度和半徑,在該視野中發生的任何事件都將實時發送給他們。這確實是連續的(每個用戶的值可能是唯一的),所以爲用戶預定義套接字/信道更加困難。
這是我目前的想法,如何使其工作。
將地球劃分爲靜態,固定大小的正方形。 (任何寬度,大約500平方米)。這些現在是我們的離散插座/通道。
當用戶發送緯度,經度,半徑,發現自己的地圖覆蓋了廣場,把它們添加到每個通道/插座
是在一個「廣場」某些點,可能無法在用戶的實際視圖,因此客戶端必須檢查每個更新並在相關時顯示它,否則忽略它。
- 藍點是用戶
- 我們將用戶添加到頻道16,17,18,26,27,28,36,37,38。
- 紅色和黃色圓點(方形16)都會實時推送給用戶。
- 黃點與視圖相關,因此它將被添加
- 紅點不在用戶視圖中,因此它被忽略。
我的問題: 1.有沒有更好的方法來做到這一點?
是否有這種類型的問題/問題的名稱?
這種類型的問題是否存在解決方案/算法/庫?
我該如何...
a。將地球分成固定大小,統一編號的方格。
b。給定一個lng,lat,radius - 計算哪些方塊與該用戶有關。
謝謝。