0

GPSが搭載されている当社の車を監視し、地図上にその位置を描画する必要があります。

グーグルマップを使用し、カスタムアイコンを使用してgoogle.maps.Makerで車をレンダリングします。

車の位置が変わったら、マーカーの位置をリセットします。

ここで、を実装する際に問題が発生しますreal-time

車の位置をリアルタイムにするために、車の位置を少しの間隔で更新する必要があります。

この種のソリューションを使用しようとしています。

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

では、遅延を設定する方法は?

クライアントの意見では、小さい方が良いです。マップ内の車がスムーズに動くようになりますので。たとえば、遅延を500ミリ秒に設定します

ただし、これによりサーバーへの頻繁な要求が発生します。サーバーとブラウザはこれを買う余裕がありますか?

要件を実装するための代替手段はありますか?

4

1 に答える 1

0

高解像度の更新を行う場合は、WebsocketまたはMeteorストリームを使用し、しばらくの間接続を維持するのが最善です。

あなたのサーバーがこれを買う余裕があるかどうかに関しては、それはあなたが言うことです。典型的なMMOは、はるかに多くのデータをより頻繁に送信しています。しかし、彼らはデータセンターを使用しています。したがって、インフラストラクチャの量、期待するクライアントの数、および送信前にデータをコンパイルするためにサーバー側で実行する必要のある処理の量によって異なります。

処理量が少ない場合は、Node.jsなどのイベントベースのサーバーを使用すると便利です。たとえそうだとしても、私はそれをNodeまたはEventMachineから提供し、他のプロセスに重労働を委任します。

Nodeを使用する場合は、 socket.ioを調べてください。

于 2012-12-06T03:08:33.393 に答える