2017-06-28 4 views
0

ich unten Code schreibe Funktionen von GeoJSON zu bekommen:Get Features Array von GeoJSON in Openlayers 3

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

ich nicht in der Lage bin, die Funktionen Array zu erhalten. Ich versuchte auch unter: var feates = new ol.format.GeoJSON().readFeatures(element.get('source'), { featureProjection: 'EPSG:3857' }); console.log(feates.length); // Getting 0

+0

Sie sollten Code anzeigen, der den Geojson in den Kartenlayer lädt. Ist das Format für deinen Geojson korrekt? geojson specification https://tools.ietf.org/html/rfc7946 Ein Beispiel, das dein Problem zeigt, löst normalerweise schnell Probleme. – GoinOff

Antwort

0

ich zum Laden GeoJSON in die Karte Schicht den Code unten bin mit:

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

und dann, wenn ich unten Code schreibe, warum bin ich 0 Features bekommen ?:

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

Bitte führen Sie !! – user6730740

Verwandte Themen