我试图将图像图标放在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
}))
})
})
})
我希望在节点上有一个图标,但只会出现小圆圈。
答案 0 :(得分:0)
样式应该是图层的属性,而不是源属性
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
})
})
})