我们必须监控安装了GPS的公司的汽车并在地图上绘制它们的位置。
我们使用谷歌地图,并使用带有自定义图标的google.maps.Maker渲染汽车。
一旦汽车的位置发生变化,我们会重新设置标记的位置。
现在我们在实施real-time
时遇到了问题。
为了使汽车的位置实时,我们必须在很短的时间内刷新汽车的位置。
我们尝试使用这种解决方案:
function refresh(){
$.getJSONP(url,'xxx',function(data){
resetLocation(data);
});
}
setInterval(refresh,delay);
现在如何设置延迟?
在客户看来,小越好。因为它会使地图上的汽车顺利移动。例如,将延迟设置为500毫秒
但是,这将导致对服务器的频繁请求。服务器和浏览器可以承担这个吗?
是否有其他方法可以实现我们的要求?
答案 0 :(得分:0)
如果您要进行高分辨率更新,最好使用Websockets或Meteor流并保持连接一段时间。
至于你的服务器能否负担得起,那就是你要说的。典型的MMO更频繁地发送更多数据;但他们使用数据中心。因此,这取决于您拥有多少基础架构,您期望的客户端数量,以及服务器端在发送之前编译数据所需的处理量。
如果您没有太多处理,使用基于事件的服务器(如Node.js)将是有利的。即使你这样做,我仍然会从Node或EventMachine提供它,并将繁重的工作委托给其他进程。
如果您要使用Node,请查看socket.io。