Доступ к атрибутам слоев по имени слоя

Допустим, у меня есть этот слой с несколькими атрибутами (id, x, y, z, year1 и т. Д.):

var receptors1 = new ol.layer.Vector({
    name: "Layer Name 1",
    visible: true,
    source: new ol.source.Vector({
        url: "url.json",
        format: new ol.format.GeoJSON()
    })
});

В моем приложении есть кнопка выпадающего меню, которая позволяет пользователю выбрать имя слоя из загруженных слоев. Привязанный к этой форме, у меня есть кнопка, которая должна получить информацию о названии слоя, выбранного пользователем, и показать его атрибуты в новой выпадающей кнопке.

Мне интересно, как получить доступ к атрибутам, начиная с уровня имени слоя.

Любая идея?

1 ответ

Чтобы получить доступ к тому, что вам нужно, вы должны следовать этой логике: слой -> источник -> функции -> для каждого -> атрибуты (известные как свойства). Вот пример:

receptors1.getSource().getFeatures().forEach(function(feature) {
    console.log(feature.getProperties());
    // you can also get each one individually, for example:
    console.log(feature.get('year1'));
}, this);
Другие вопросы по тегам