Получить массив функций из Geojson в Openlayers 3

Я пишу код ниже, чтобы получить функции от Geojson:

this.map.getLayers().forEach(element => {
    if (element.get('title') === 'water') {        
         var features = element.getSource().getFeatures();
         console.log("Length :: "+features.length);   // Getting 0
    }
});

Я не могу получить массив функций. Я также попробовал ниже: var feates = new ol.format.GeoJSON().readFeatures(element.get('source'), { featureProjection: 'EPSG:3857' }); console.log(feates.length); // Getting 0

1 ответ

Я использую приведенный ниже код для загрузки Geojson в слой карты:

 this.waterways_vecLayer = new ol.layer.Vector({
  title: 'water',
  visible: false,
  source: new ol.source.Vector({
    projection: 'EPSG:3857',
    url: this.geojsonPath +'water.geojson',
    format: new ol.format.GeoJSON(),
  }),      
  style: [lineStyle]
});

а потом, когда я пишу код ниже, почему я получаю 0 функций?:

this.map.getLayers().forEach(element => {
if (element.get('title') === 'water') {        
     var features = element.getSource().getFeatures();
     console.log("Length :: "+features.length);   // Getting 0
}});
Другие вопросы по тегам