2012-07-09 72 views
1

我試圖找到正確的(或者是最好的)以下問題的解決方案:軌道地圖標記不刷新

說,我有一個谷歌地圖(這不是事情實際上是什麼樣的圖)人們可以在其中創建和刪除標記。任何用戶都可以查看地圖,並且我知道現在用戶看起來正方形的邊界。所以如果其他人在這個廣場上創建標記,我需要立即在地圖上顯示它。爲此,我將使用websockets。但問題不在於技術方面,而在於邏輯。將標記數據發送給用戶的最佳方式是什麼?我應該存儲某處顯示位置的當前範圍嗎?我不想向所有用戶發送新標記,因爲他們可能不需要它,我只想發送給那些看着那個廣場的人。或者我必須有製片人將這些信息提供給消費者?

對不起,如果我寫了令人困惑的東西,如果事情不清楚,請問我。感謝您的建議。

回答

1

跟蹤您當前連接的用戶的地圖範圍。當他們平移地圖時,請確保服務器使用這些邊界進行更新。

當在服務器端添加新點時,循環遍歷每個連接並檢查座標是否在這些邊界內。如果是,請發送新標記。

+0

謝謝,實際上這是我的決定之一,但是如果我有10000個用戶在線,情況會好嗎?我將不得不循環通過他們,併爲每個人制定「如果」條件。 – tony 2012-07-09 21:23:36

+0

@tony,你必須做你必須做的。我想如果你有10,000個用戶,他們將分佈在多個服務器上。無論如何,進行10,000次比較將是相當直接的。如果你必須處理非正方形或不同投影的邊界,那將更加困難。 – Brad 2012-07-09 21:28:55