如何设置图层样式

How to style a layer

我正在尝试将图像图标放在 openlayers 5 层的节点上,但似乎无法正确处理。 我加载了一个 osm 文件,一切正常,但我得到一个小圆圈而不是图标。

我在网上搜索过,我只能找到如何更改功能图标,而不是图层的所有功能。

我的osm文件的一部分

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='false' generator='JOSM'>
  <node id='-102236' lat='37.1556611' lon='-8.5700716'>
    <tag k='vpa_cod' v='784' />
    <tag k='vpa_linha' v='11,38,' />
  </node>
</osm>

层声明

new VectorLayer({
          source: new VectorSource({
            url: './assets/layers/111_.osm',
            format: new OSMXML(),
            formatOptions: {
                extractStyles: true,
                extractAttributes: true,
                maxDepth: 2
                },

                style: new Style({
                  image: new Icon( ({
                    anchor: [0, 0],
                    anchorXUnits: 'fraction',
                    anchorYUnits: 'fraction',
                    src: 'assets/images/icons/11.svg',
                    scale : 0.35
                  }))
                })
          })
        })

我想在我的节点上有一个图标,但只有小圆圈。

样式应该是层的属性,而不是源

new VectorLayer({
          source: new VectorSource({
            url: './assets/layers/111_.osm',
            format: new OSMXML(),
            formatOptions: {
                extractStyles: true,
                extractAttributes: true,
                maxDepth: 2
            }
          }),
          style: new Style({
            image: new Icon({
              anchor: [0, 0],
              anchorXUnits: 'fraction',
              anchorYUnits: 'fraction',
              src: 'assets/images/icons/11.svg',
              scale : 0.35
            })
          })
        })