2017-06-28 4 views
0

Je vous écris ci-dessous code pour obtenir des caractéristiques de GeoJSON:fonctionnalités tableau à partir GeoJSON dans OpenLayers 3

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

Je ne suis pas en mesure d'obtenir le tableau des caractéristiques. J'ai aussi essayé ci-dessous: var feates = new ol.format.GeoJSON().readFeatures(element.get('source'), { featureProjection: 'EPSG:3857' }); console.log(feates.length); // Getting 0

+0

Vous devez afficher le code qui charge le géojson dans la couche cartographique. Est-ce que le format est correct pour votre geojson ?? Spécification de geojson https://tools.ietf.org/html/rfc7946 Un exemple de jsfiddle montrant votre problème obtient généralement des problèmes résolus rapidement. – GoinOff

Répondre

0

J'utilise le code ci-dessous pour le chargement GeoJSON dans la couche de carte:

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

puis quand je suis en train d'écrire ci-dessous le code, pourquoi suis-je recevais 0 caractéristiques ?:

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

S'il vous plaît guider !! – user6730740