Openlayers 3, применение массива пространственных объектов к векторным результатам в getId () не является функцией

0

У меня есть массив, заполненный объектами типа ol.Feature, которые я добавляю к новому объекту типа ol.source.Vector, используя следующий код:

for (var i in stages)
{
    console.log(stages[i].Longitude, stages[i].Latitude);

    var iconFeature = new ol.Feature({
        geometry: new ol.geom.Point(ol.proj.transform([stages[i].Longitude, stages[i].Latitude], 'EPSG:4326', 'EPSG:3857')),
        name: stages[i].Title
    });

    iconFeature.setStyle(iconStyle);

    iconFeatures.push(iconFeatures);
}

try
{
    var vectorSource = new ol.source.Vector({
        features: iconFeatures
    });
}
catch (e)
{
    console.log(e);
}

Блок try/catch добавлен, потому что у меня не было никаких ошибок (Angular/Ionic).

Когда я загружаю приложение, я получаю следующую ошибку:

TypeError: feature.getId не является функцией

var id = feature.getId();

Что перенаправляет меня на linenumber консоли.log, то есть ошибка должна быть внутри создания источника вектора.

Я полностью застрял здесь, примеры, которые повсюду в Интернете, делают то же самое, любая помощь будет назначена.

  • 1
    У вас есть глупая опечатка в iconFeatures.push(iconFeatures); Вы можете захотеть iconFeatures.push(iconFeature);
Теги:
openlayers-3

1 ответ

0

Очевидно, вы можете массировать массив без ошибок.

Полностью моя вина

iconFeatures.push(iconFeatures);

должно быть

iconFeatures.push(iconFeature);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню