0

我们必须监控我们公司安装了 GPS 的汽车并在地图上绘制它们的位置。

我们使用谷歌地图,并使用带有自定义图标的 google.maps.Maker 渲染汽车。

一旦汽车的位置改变,我们重新设置标记的位置。

现在我们在实现real-time.

为了使汽车的位置实时,我们必须以小间隔刷新汽车位置。

我们尝试使用这种解决方案:

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

现在如何设置延迟?

在客户看来,越小越好。因为它会使地图​​中的汽车平稳移动。例如,将延迟设置为 500 毫秒

但是,这会导致对服务器的频繁请求。服务器和浏览器能负担得起吗?

是否有替代方案来实现我们的要求?

4

1 回答 1

0

如果您要进行高分辨率更新,最好使用 Websockets 或 Meteor 流并保持连接一段时间。

至于你的服务器能不能负担得起,那就由你说了算。典型的 MMO 会更频繁地发送更多数据;但他们使用数据中心。所以这取决于你有多少基础设施,你期望有多少客户端,以及服务器端需要做多少处理才能在发送之前编译数据。

如果您没有太多处理,那么使用基于事件的服务器(例如 Node.js)将是有利的。即使你这样做了,我仍然会从 Node 或 EventMachine 提供它,并将繁重的工作委托给其他进程。

如果您要使用 Node,请查看socket.io 。

于 2012-12-06T03:08:33.393 回答