我是PixiJS的新手,我想知道是否可以渲染来自GeoJSON文件的多边形,以便所有内容都适合该PIXI容器。 我需要以某种方式缩小坐标,因为我只能看到一半的多边形。而且我想与多边形互动,例如选择多边形,分配新的填充颜色等。
目前,我正在使用SVG进行此操作,但是移动设备的性能对于6000多个多边形来说是可怕的。
这是我到目前为止尝试过的:
var app = new PIXI.Application({
width: window.innerWidth,
height: window.innerHeight,
backgroundColor: 0x2c3e50
});
var totalShapes = feat.features.length;
for (var i = 1; i <= totalShapes - 1; i++) {
var shape = feat.features[i];
var vertices = shape.geometry.coordinates;
var arrCoordinates = [];
for (var j = 1; j <= vertices[0].length - 1; j++) {
var coordinate = vertices[0][j];
arrCoordinates.push(coordinate[0]);
arrCoordinates.push(coordinate[1]);
}
var g = new PIXI.Graphics();
g.beginFill(1);
g.lineColor = 0xffffff;
g.lineStyle(1, 0xffffff);
g.drawPolygon(
arrCoordinates
);
g.endFill();
app.stage.addChild(g);
}
我从多边形的每个顶点获取坐标,并将其传递给drawPolygon函数。
Pixi.js是该项目的正确库吗?还是应该使用Paper.js或snap.svg?有什么建议吗?