3

openlayers で既存の線ストリングにポイントを追加することは可能ですか? クライアントに到着したときに描画したいサーバーからのポイントのストリームがあります。現在、これを行う唯一の方法は、次のように、新しいポイントが来るたびに、受け取った最後のポイントから新しいポイントまで単一の線を引くことです。

Drawer.prototype.drawPoint = function(point)
{
    var line = new OpenLayers.Geometry.LineString([this.lastPoint, point]);
    var lineFeature = new OpenLayers.Feature.Vector(line, null, this.style);
    this.lineLayer.addFeatures([lineFeature]);
    this.lastPoint = point;
}

これは効率が悪いようです。明らかに、すべてのポイントの配列を保持し、新しいポイントが入るたびに線全体を再描画できますが、それも非効率的です。

4

1 に答える 1