使用加载程序时,Openlayers 不会在图层中显示功能

Openlayers wont show features in a layer when using loader

所以我已经开始了:loadingstrategy bbox,所以当我平移或缩放时,加载程序会获取功能。但问题是,即使我从 http 请求中获得了功能,它也不会以某种方式显示。

我的逻辑是:

       source = new VectorSource({

            loader: (extent, resolution, projection) => {
                let url ='api_url'
                let xhr = new XMLHttpRequest();
                xhr.open('GET', url);
                let onError = () => {
                    source.removeLoadedExtent(extent);
                    console.log('error');
                };
                xhr.onerror = onError;
                xhr.onload = () => {
                    if (xhr.status === 200) {
                        let features = new GeoJSON({
                            featureProjection: 'EPSG:32633',
                        }).readFeatures(xhr.responseText);
                        source.addFeatures(features);
                        source.changed();
                        console.log(
                            this.Map.getLayers().getArray(),
                            (this.Map.getLayers()
                                .getArray()
                                .find(
                                    (l) => l.get('name') === 'propertyLayer'
                                ) as VectorLayer)
                                .getSource()
                                .getFeatures()
                        );
                    } else {
                        console.log('error');
                    }
                };
                xhr.send();
            },
            strategy: bbox,
            format: new GeoJSON({
                featureProjection: GetProjection('EPSG:32633'),
                dataProjection: GetProjection('EPSG:32633'),
            }),
        });
        const styles = [
            new Style({
                stroke: new Stroke({
                    color: 'blue',
                    width: 3,
                }),
                fill: new Fill({
                    color: 'rgba(0, 0, 255, 0.1)',
                }),
            }),
            new Style({
                image: new CircleStyle({
                    radius: 6,
                    fill: new Fill({
                       color: '#3399CC',
                    }),
                    stroke: new Stroke({
                       color: '#fff',
                       width: 2,
                    }),
                }),
            }),
        ];
        let vLayer = new VectorLayer({
        source: source,
        style: styles,
        });
        this.Map.addLayer(vLayer);

我在 onload 函数内部的 console.log 显示了很多功能,所以我知道它正在获取。 第一个日志以数组格式列出层。而获取特征的层是最后一层,会不会是其他层的z-index值更高的东西?或者我可能需要 refresh/redraw 添加所有功能的图层?

而不是

                    let features = new GeoJSON({
                        featureProjection: 'EPSG:32633',
                    }).readFeatures(xhr.responseText);

也包括 dataProjection,或者如果两个投影相同,则不指定任何一个。