Openlayers 5 иконок не отображаются на карте - PullRequest
0 голосов
/ 08 марта 2019

Я использую OpenLayers 5 для создания простой карты с иконками на ней. Я последовал примеру Icon Colors , и это работает. Теперь я изменил исходные данные из массива. У меня есть, например, четыре точки, чтобы показать на карте.

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
    });

К сожалению, значки не отображаются на карте. Если я не использую цикл, значки отображаются. У меня много данных и я не могу присвоить значение одно за другим.

Это мой JSFiddle: Fiddle

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 14 марта 2019

Слой необходимо добавить на карту

map.addLayer(vectorLayer);
...