javascript - Openlayers 5 图标未显示在 map 上

标签 javascript html openlayers openlayers-5

我正在使用 OpenLayers 5 创建一个带有图标的简单 map 。我已经关注了Icon Colors example它有效。现在,我更改了数组中的源数据。例如,我要在 map 上显示四个点。

window.locs = [{
        "y": "52,51241",
        "x": "13,38961"
      }, {
        "y": "52,52107",
        "x": "13,38773"
      }, {
        "y": "52,52488",
        "x": "13,40369"
      }, {
        "y": "52,54902",
        "x": "13,41655"
      }];

我只更改了创建矢量源的部分,从手动设置一一改为使用循环。

for (var i in window.locs) {
    var data = window.locs[i];
    iconFeature = new ol.Feature({
            geometry: new ol.geom.Point(ol.proj.fromLonLat([parseFloat(data.x.replace(",", ".")), parseFloat(data.y.replace(",", "."))]))
        });

    iconFeature.setStyle(new ol.style.Style({
            image: new ol.style.Icon(/** @type {module:ol/style/Icon~Options} */({
                    color: [113, 140, 0],
                    crossOrigin: 'anonymous',
                    src: 'https://openlayers.org/en/v3.20.1/examples/data/dot.png'
                }))
        }));
    window.iconFeatures.push(iconFeature);
}
var vectorSource = new ol.source.Vector({
        features: window.iconFeatures
    });

不幸的是,这些图标没有显示在 map 上。如果我不使用循环,则会显示图标。我的数据很多,无法一一赋值。

这是我的 JSFiddle:Fiddle

我该如何解决这个问题?

最佳答案

需要将图层添加到 map

map.addLayer(vectorLayer);

关于javascript - Openlayers 5 图标未显示在 map 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55064467/

相关文章:

javascript - Openlayers - 在 map 上的弹出窗口中显示 geojson 文件中的数据

javascript - 如何获取 Canvas 光标点击坐标

javascript - 由于错误 80020101,无法完成操作。IE

javascript - 如何在html中的 Angular js中添加日期年份

javascript - jqgrid 是否支持行高,所以我可以在一行中显示多行

reactjs - 如何使用 createReactApp 测试包含 OpenLayers map 的组件

python - 在Python中使用Selenium选择子元素

html - 是否可以使用 css 反转黑白图像?

javascript - 按列表 float 三 Angular 形图片

javascript - 将 OpenLayer 矢量图层从自动更改为手动获取请求