2012-12-06 114 views
0

我們必須監控安裝了GPS的本公司車輛並在地圖上繪製其位置。ajax實時監控請求

我們使用谷歌地圖,並使用自定義圖標渲染帶有google.maps.Maker的汽車。

一旦汽車位置改變,我們重新設置標記的位置。

現在我們在執行real-time時遇到問題。

爲了使汽車的位置實時,我們必須在較小的時間間隔內刷新汽車的位置。

我們嘗試使用這種解決方案:

function refresh(){ 
    $.getJSONP(url,'xxx',function(data){ 
     resetLocation(data); 
    }); 
} 
setInterval(refresh,delay); 

現在怎麼設置延遲?

在客戶看來,小的越好越好。因爲它會使地圖​​上的汽車順利移動。例如,將延遲設置爲500毫秒

但是,這會導致對服務器的頻繁請求。服務器和瀏覽器可以提供這個嗎?

是否有替代方案來實施我們的要求?

回答

0

如果您要進行高分辨率更新,最好使用Websockets或Meteor流並保持連接一段時間。

至於你的服務器是否可以負擔得起,這是你要說的。一個典型的MMO越來越頻繁地發送更多數據;但他們使用數據中心。因此,這取決於您擁有多少基礎架構,您期望的客戶端數量以及服務器端在發送之前需要做多少處理才能編譯數據。

如果您沒有太多處理,使用基於事件的服務器(如Node.js)將是有利的。即使你這樣做,我仍然可以從Node或EventMachine提供它,並將繁重的工作委託給其他進程。

如果您打算使用Node,請查看socket.io

+0

服務器是基於java的,我們必須支持ie 6.客戶端不會超過100 – hguser