2017-06-19 8 views
0

OpenLayers3、GeoServer、ReactJSで作成されたアプリケーションがあり、WMSをいくつか示しています。そして、奇妙な理由から、画面の解像度が1314pxよりも広い場合にのみ、ズームインすると画像を更新することができません。非常に奇妙なことですが、解像度が1310の場合は、通常のズームインとズームアウトができます.WMSはすべてのズーム後にリフレッシュされますが、解像度が1315pxより大きい場合はズームのみが機能しますがズームはされませんin。OpenLayers3リフレッシュされていないWMS(ズームイン)

誰もこれまでにこのようなものを試しましたか?

これは私がWMS(ReactJS)を呼んでいる方法です:GeoServerには問題はありません

var map = this.state.map; 
    var wmsLayer = new ol.layer.Image({ 
     source: new ol.source.ImageWMS({ 
      url: 'http://spif.XX.XX:8080/geoserver/cite/wms', 
      params: {'LAYERS': 'cite:biodent_clientes'}, 
      serverType: 'geoserver' 
     }) 
    }); 
    this.state.layersMaServer = wmsLayer; 
    map.addLayer(wmsLayer); 

、WMSはよく、すべてのズーム・インした後、またはアウトロードされますが、私はなぜ知りませんズームイン時にクライアント側(broser)でリフレッシュされませんでした。私がちょっとズームアウトすると、イメージは正しいwmsでリフレッシュされますが、なぜ1314px未満にしか表示されません!

助けていただきありがとうございます。

+0

は、あなたのWMSサーバは、サイズ制限をしていませんか? – oterral

+0

GeoServerは正しい画像を送信します。私はChrome Devの「ネットワーク」でそれらをすべて見ることができますが、画面のサイズが1315pxより広い場合にのみ、アプリケーションを更新します。しかし、画像ファイルはうまく生成されます。さらに、ジオサーバログにエラーメッセージはありません。 – pmirnd

答えて

1

ではなく、タイルWMSを使用してください:

var map = this.state.map; 
var wmsLayer = new ol.layer.Tile({ 
    source: new ol.source.TileWMS({ 
     url: 'http://spif.XX.XX:8080/geoserver/cite/wms', 
     params: {'LAYERS': 'cite:biodent_clientes'}, 
     serverType: 'geoserver' 
    }) 
}); 
this.state.layersMaServer = wmsLayer; 
map.addLayer(wmsLayer); 
+0

タイルを使って何度も試してみましたが、成功しませんでした。私もこのスレッドを作った:https://stackoverflow.com/questions/44662136/openlayers-geoserver-tilewms-are-displaying-wrong?noredirect=1#comment76393502_44662136(私はちょうどあなたのコードでテストした、それは同じ動作です) – pmirnd

関連する問題