我在将点列表添加到矢量源,图层以及最终在Openlayers中的地图时遇到问题。 首先,我创建一个空数组,然后遍历给定的数据集,并为每个要素创建一个带有图标和文本字段的新Point,并将标记存储在列表中。最后,我想用该数组创建一个新的ol.source.Vector(),这将导致错误“ c.Xa不是函数”。 如果我只从列表中删除一个标记,然后将其添加到矢量源中,则地图在正确的位置,正确的图标和正确的文本上都可以正常工作。
var markers=[];
for(var i=1; i<ResearchStations.length; i++){
var mark=new ol.Feature({
geometry: new ol.geom.Point(
ol.proj.fromLonLat([lon, lat], proj3031)
),
});
var icon = new ol.style.Style({
image: new ol.style.Icon({
...
}),
text: new ol.style.Text({
...
})
})
mark.setStyle(icon);
markers[i]=mark;
}
console.log(1)
var vectorSource = new ol.source.Vector({
features: [markers],
});
console.log(2)
var StationLayer = new ol.layer.Vector({
source: vectorSource,
});
console.log(3)
map.addLayer(StationLayer);
在console.log(1)
之后发生错误