OpenLayers 5会加载WFS功能,但不会在地图中添加和显示这些功能

时间:2018-11-09 09:28:20

标签: openlayers openlayers-5 web-feature-service

这实际上应该很容易,但是我被困在这里已经两天了,但仍然找不到OpenLayers无法执行API预期的原因。

有一个我要加载并显示在地图中的WFS图层。可以在这里看到这些功能:http://www.pegelonline.wsv.de/webservices/gis/aktuell/wfs?service=WFS&request=GetCapabilities

浏览完功能之后,我开始构建VectorLayer。我从Openlayers API中了解到,有两种方法可以加载功能:一种是使用 format url ,另一种是使用 loader

由于 format + url 方法看起来非常简单,所以我决定使用此方法。我根据功能获得的网址创建了网址:http://www.pegelonline.wsv.de/webservices/gis/aktuell/wfs?service=WFS&version=1.1.0&request=GetFeature&typeName=gk:waterlevels&outputFormat=GML3

如您所见,可以通过此URL加载GML3格式的所有530个功能,因此直到此阶段都没有问题。

我开始编写OpenLayers 5代码:

createVectorLayer () {
    const vectorLayer = new VectorLayer({
        name:"waterlevels",
        source: new VectorSource({
            format: new GML3(),
            url: "http://www.pegelonline.wsv.de/webservices/gis/aktuell/wfs?service=WFS&version=1.1.0&request=GetFeature&typeName=gk:waterlevels&outputFormat=GML3"
        }),
        style: new OlStyle({
            image: new Icon({
                src: 'static/Icons/waterlevels.png'
            })
        })
    })
}

我已经完成了所有导入,但是这里没有显示它们以节省空间。 首先想到的是样式似乎不是很好。但是在用layer.getSource().getFeatures()检查图层之后,我发现Vectorlayer中有0个要素。

但是在网络分析中,我可以看到成功加载了530个功能的GML文件。所以我现在有点困惑。

如果有人可以指出我在哪一步做错了,我将不胜感激。我已经多次检查过导入,WFS功能和样式更改了多次。我什至尝试使用 loader ,但到目前为止,仍然没有任何效果。

0 个答案:

没有答案