首先要做的事情......我是一名GIS开发人员,试图利用PixiJS WebGL功能来绘制数据客户端。我只是将我的脚趾浸入客户端图形中,所以请原谅这篇文章中的任何错误措辞。
我已成功使用PixiJS在地图上绘制功能(使用图形)。但是当我改变缩放级别时,这些图形的大小会增大/缩小。我希望他们保持不变。例如,我调用的drawRect的宽度/高度为7像素。当我放大/缩小时,我希望那些矩形保持这个大小,但它们没有。希望底部的图像让我的问题清楚明白。
以下是我绘制图形的方式:
var graphics = new PIXI.Graphics();
for (var i = 0; i < featureCollection.features.length; i++) {
var feature = featureCollection.features[i];
if (feature.geometry.type == "Point") {
var screenPoint = this.olMap.getPixelFromCoordinate(
proj.fromLonLat(feature.geometry.coordinates)
);
graphics.lineStyle(2, 0x0000ff, 1);
graphics.beginFill(0xff700b, 1);
graphics.drawRect(screenPoint[0], screenPoint[1], 7, 7);
}
}
this.pixiContainer.addChild(graphics);
this.pixiRenderer.render(this.stage);
然后当地图更改缩放级别时,这就是我更新容器的方式。我省略了divTopLeft和diff变量的计算,因为它有点冗长。
this.pixiContainer.setTransform(divTopLeft[0], divTopLeft[1], diff, diff);
this.pixiRenderer.render(this.pixiContainer);