1

これはおそらく非常に単純な質問ですが、私はそれを理解できないようです。

GeoExtを使用したGetCapabilitiesリクエストを使用して、WFSサーバーからレイヤー情報を取得するJavascriptアプリを作成しています。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サーバー上の各レイヤーに1つずつあるレコードのリストであり、オプションは空です。

そして、ここで私は立ち往生しています。この関数では、サーバーによって提供されるデータに関するすべてのレイヤー情報にアクセスできます。ただし、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/>

4

1 に答える 1

0

どうやら、GeoExt は現在サーバー情報を破棄しており、私の質問の前提全体を弱体化させています。

これは、GeoExt にそれを取得するように指示するために使用できるコード スニペットです。私はこのコードを書きませんでしたが、テストしたところ、うまく機能することがわかりました。

https://github.com/opengeo/gxp/blob/master/src/script/plugins/WMSSource.js#L37

于 2012-10-23T10:42:23.200 に答える