这可能是一个非常简单的问题,但我似乎无法弄清楚。
我正在编写一个Javascript应用程序,使用GeoExt使用GetCapabilities请求从WFS服务器检索图层信息。 GetCapabilities返回有关WFS服务器的信息 - 服务器的名称,运行它的人等,以及它提供的数据层的信息。
我的基本代码如下:
var store = new GeoExt.data.WFSCapabilitiesStore({ url: serverURL });
store.on('load', successFunction);
store.on('exception', failureFunction);
store.load();
这可以按预期工作,当加载完成时,将调用successFunction。
successFunction看起来像这样:
successFunction = function(dataProxy, records, options) {
doSomeStuff();
}
dataProxy是Ext.data.DataProxy对象,records是记录列表,WFS服务器上每层一个记录,选项为空。
这就是我被困的地方:在这个功能中,我可以访问有关服务器提供的数据的所有层信息。但我还想提取store.load()期间获取的XML中包含的服务器信息(见下文)。但是我无法弄清楚如何从dataProxy对象中获取它,我确定它必须被淘汰。
有什么想法吗?
我想要的字段包含在此代码段中:
<ows:ServiceIdentification>
<ows:Title>G_WIS_testIvago</ows:Title>
<ows:Abstract/>
<ows:Keywords>
<ows:Keyword/>
</ows:Keywords>
<ows:ServiceType>WFS</ows:ServiceType>
<ows:ServiceTypeVersion>1.1.0</ows:ServiceTypeVersion>
<ows:Fees/>
<ows:AccessConstraints/>
答案 0 :(得分:0)
显然,GeoExt目前丢弃了服务器信息,破坏了我的问题的整个前提。
这是一个代码段,可用于告诉GeoExt抓取它。我没有编写这段代码,但已对其进行了测试,发现它适用于我:
https://github.com/opengeo/gxp/blob/master/src/script/plugins/WMSSource.js#L37