我有一个使用OpenLayers3,GeoServer和ReactJS制作的应用程序,显示了一些WMS。由于一个奇怪的原因,当我放大时,如果屏幕分辨率比1314px宽,我就无法刷新图像。这很奇怪,如果分辨率是例如1310,我可以正常放大和缩小,并且每次变焦后都会刷新wms,但是,如果分辨率大于1315px,则只能缩小工作,但不能放大。
之前有人曾尝试过这样的事情吗?
这就是我调用wms(ReactJS)的方式:
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);
GeoServer没有问题,WMS在每次放大或缩小后都能很好地加载,但我不知道为什么在放大时没有在客户端刷新(broser) )。如果我稍微缩小一点,那么用正确的wms刷新图像,但为什么只有1314px以下!
任何帮助,谢谢。
答案 0 :(得分:1)
改为使用Tiled 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);