Openlayers 3 向量源在source.getFeatures()中返回空

Openlayers 3 向量源在source.getFeatures()中返回空,openlayers-3,Openlayers 3,我的应用程序中有向量层,如下所示: var vectorSource = new ol.source.Vector({ format: new ol.format.GeoJSON(), crossOrigin:"Anonymous", url: 'http://localhost:8080/geoserver/wfs?service=WFS&' + 'version=1.0.0&request=GetFeature&typename=genes

我的应用程序中有向量层,如下所示:

var vectorSource = new ol.source.Vector({
  format: new ol.format.GeoJSON(),
  crossOrigin:"Anonymous",
  url: 'http://localhost:8080/geoserver/wfs?service=WFS&' +
        'version=1.0.0&request=GetFeature&typename=genesis:Building_WGS&' +
        'outputFormat=application/json&srsname=EPSG:4326'
});


var vector1 = new ol.layer.Vector({
  source: vectorSource,
  style: new ol.style.Style({
    stroke: new ol.style.Stroke({
      color: 'rgba(0, 0, 255, 1.0)',
      width: 2
    })
  })
});
当我运行图层时,我可以在地图上看到它。但问题是,当我使用警报消息检查我看到的功能信息为空时。我得了这样的感冒:

alert(vectorSource.getFeatures());
有人能告诉我我做错了什么吗?任何帮助都是宝贵的


AJ

您已经找到了一个解决方案,因此需要注册该解决方案

当您传递
url
param时,它是异步(AJAX)加载的,因此您必须等待它完全加载:

vectorSource.on('change', function(evt){
    var source=evt.target;
    if(source.getState() === 'ready'){
        console.info(vectorSource.getFeatures());
    }
});

您确定wfs请求返回的数据正确吗?是的,我可以在地图上看到图层。看起来他们的处境也很好。你能告诉我这里出了什么问题吗?哦,对不起,我不完全明白问题出在哪里。vectorSource.getFeatures()返回空数组是否有问题?是的,这就是问题所在。因为我需要在鼠标单击或类似操作时访问该功能。您何时发出警报(vectorSource.getFeatures())?如果你在地图上看到你的数据,getFeatures几乎不可能返回空的。正如我在上面的评论中提到的,我已经达到了你在这里提到的解决方案。你能帮我解决这个问题吗