OpenLayers 3でGeoserverのWFSを使用するにはどうすればよいですか?


8

さまざまなセットアップとフォーマットを試してみましたが、成功しませんでした。

firebugを使用すると、jsonデータがロードされていることがわかりますが、マップには何も表示されません。

openlayers 3でgeoserverとwfsを使った経験はありますか?

var layer_ojd_vector = new ol.layer.Vector({
 source: new ol.source.Vector({
  parser: new ol.parser.GeoJSON(),
  url: http://SERVER:8080/geoserver/NS/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=NS:LAYER&maxFeatures=50&outputFormat=json
 }),
 style: new ol.style.Style({rules: [
  new ol.style.Rule({
   filter: 'geometryType("point")',
   symbolizers: [
     new ol.style.Shape({
       fillColor: '#013',
       size: 40
     })
   ]
 })
]})  
});

回答:


3

私はこれがここでかなり答えられるのを見ました。

WebサーバーからHTMLファイルを実行し、次の方法でアクセスする必要があります。

SERVER:8080 / geoserver / index.html

またはあなたの設定です。

HTMLファイルをダブルクリックしてWFSレイヤーを表示することはできません。


このJavaScriptを含むファイルには、Webサーバー経由でアクセスします。
TrondThorbjørnsen2013

OK!今私は理解しました:別のWebサーバーからwfsデータにアクセスできません。ジオサーバーWebサーバーにhtmlファイルが必要です。
TrondThorbjørnsen2013

4
@GISer「ここでこれがかなり答えられるのを見た」本当に?これは、OL3をターゲットにした唯一の投稿です。OL3のドキュメントはまだ非常に進行中なので、これに関するいくつかの優れたドキュメントが表示されても構いません。
カイル

1
これは意味がありません。マップを提供する同じサーバー上で実行する必要があるリモートGeoJSONデータがある場合、OpenLayersの例のいくつかがWebサイトに表示されている場合、空間データは、データを表示するマップサーバーと同じサーバー上に存在する必要はありません。
user3657279 14

3

カイルに同意します。1年後でも、簡単に再現できる説明付きの良い例を見つけるのにしばらく時間がかかりました。

「openlayers 3の本」の例が好きです。残念ながら、私は本自体にアクセスすることはできませんが、例から判断するとよく書かれていると思います。

この例はol 3.4用です

http://acanimal.github.io/thebookofopenlayers3/chapter03_07_query_wfs.html

openlayersサンプルページからol 3.5 vector-wfsマスターサンプルを複製する際に問題が発生しました。これらの問題はおそらく今では修正されています。

http://openlayers.org/en/master/examples/vector-wfs.html

3つのjsfiddleを作成して、ol.format.GeoJSON(JSONおよびJSONP)およびol.format.WFSのAJAXを介したol 3.5.0呼び出しをデモンストレーションしました。

WFS(たとえば、Apache Tomcatの場合、WebサーバーでCORSアクセスを有効にする必要があります)

http://jsfiddle.net/goldrydigital/9d3jzpna/

JSON(Apache Tomcatなどの場合、WebサーバーでCORSアクセスを有効にする必要があります)

http://jsfiddle.net/goldrydigital/ucspgvx0/

JSONP(JSONP はGeoserver有効にする必要があります)

http://jsfiddle.net/goldrydigital/08zzh9n9/


まあ、答えは受け入れられた答えの2年後に来た、そして受け入れられた答えそれが行く限りにおいて正しかった。しかし、これははるかに便利です。
Auspex

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.