如何获得使用协议创建的矢量图层中的特征?

时间:2012-04-03 12:14:00

标签: openlayers

我正在学习OpenLayers。当我使用协议创建它时,我发现了一个关于矢量图层的奇怪的事情,例如:

 var scheldtoutflow = new OpenLayers.Layer.Vector("scheldtoutflow", {
     projection: new OpenLayers.Projection("EPSG:900913"),
     strategies: [new OpenLayers.Strategy.Fixed()],
     protocol: new OpenLayers.Protocol.HTTP({
               url: "data/scheldtoutflow",
               format: new OpenLayers.Format.GeoJSON()
            }),
               visibility: false
          });

当我调试此代码时,我发现此图层的功能列表为空。只有当我向图层注册一些事件时,例如选择功能等,功能列表可以正确。

有谁知道为什么会这样?非常感谢你。

干杯, 轩

1 个答案:

答案 0 :(得分:1)

听起来这个问题可能非常相似to this question。我认为您正在尝试内联功能列表,而填充功能的调用将异步调用HTTP请求。这些功能将为空,因为您将在HTTP请求返回之前询问它们。要正确执行此操作,您需要向layer loadend event添加处理程序以插入功能