OpenLayers3不显示图像

时间:2015-07-24 13:30:26

标签: asp.net openlayers-3

我正在使用openlayers3编写地图应用程序。我正在从openlayers2升级,效果很好。我的问题是从我的wms服务器返回的图像没有显示在div中。返回的图像是png图像。我知道它会返回一个正确的图像,因为我将它保存在我对WMS服务器的api调用中,并检查浏览器中的调试工具并显示图像,返回为" image / png"。我也有一个div =" map"我设置了div的宽度和高度。放大和缩小控件显示在地图上,但实际图像不显示。

代码:

        map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Image({
                extent: parameters.maxExtent,
                source: new ol.source.ImageWMS({
                    url: '../../WMS/floorplan?',
                    params: { 'LAYERS': '@Model.LayerName', 'VERSION': '1.3.0', 'FORMAT': "image/png", 'SHAPEFILE': '@Model.ShapeFile'},
                    ratio: 0.8,
                    serverType: 'mapserver'
                })
            })
        ],
        view: new ol.View({
            projection: '@Model.Projection',
            center: [@Model.CenterLon, @Model.CenterLat],
            extent: parameters.maxExtent,
            zoom: 0.5
        })
    });

1 个答案:

答案 0 :(得分:0)

似乎在ImageWMS源上设置小于1的比率会导致这种情况。请参阅http://jsfiddle.net/zL9jhgqf/(设置比率为1并再次运行使其正常工作)。

source: new ol.source.ImageWMS({
  url: 'http://demo.boundlessgeo.com/geoserver/wms',
  params: {'LAYERS': 'topp:states'},
  ratio: 0.8,
  serverType: 'geoserver'
})

我创建了一个关于它的问题,因为我不知道预期的行为是什么:https://github.com/openlayers/ol3/issues/3926

顺便说一句。使WMS层覆盖少于视口的用例是什么?