我在一个舞台上放了两层。第一层只有一个矩形。另一层有几个线对象。我需要非常快地绘制这些线条,所以我试图一次绘制所有线条,但我无法让它工作。这是我的代码:
var line = new Kinetic.Line({
points : line_points,
stroke : 'black',
strokeWidth : 5,
lineCap : 'round'
});
layer.add(line);
layer.draw();
});
};
});
stage.add(layer);
此代码在创建后将所有行分开绘制,因此需要更多时间。如何一次绘制所有线条?
这是我的其余功能:
function draw_ways(db, minLon, maxLon, minLat, maxLat, stage) {
var layer = new Kinetic.Layer();
get_interval_ways(db, minLon, maxLon, minLat, maxLat, function(result) {
for (var i = 0; i < result.length; i++) {
get_interval_nodes(db, result[i].way_id, function(result2) {
var line_points = new Array();
for (var j = 0; j < result2.length; j++) {
line_points.push(getLocationX(result2[j].lon, minLon, maxLon, MAP_WIDTH));
line_points.push(getLocationY(result2[j].lat, minLat, maxLat, MAP_HEIGHT));
};
var line = new Kinetic.Line({
points : line_points,
stroke : 'black',
strokeWidth : 5,
lineCap : 'round'
});
layer.add(line);
layer.draw();
});
};
});
stage.add(layer);
console.log(stage);
}