首页 文章

Openlayers不会从地理服务器打印图层

提问于
浏览
1

我尝试在我的网站上打印我的geoserver图层 . 我的应用程序和我的geoserver实例在不同的tomcats上运行并使用不同的端口 .

我在Firefox的网络检查器日志中注意到从geoserver下载了适当的png图像 . 我注意到http请求如下:

http://localhost:8081/geoserver/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=graves:graves&TILED=true&STYLES=graves&CQL_FILTER=not(id < 0)&WIDTH=256&HEIGHT=256&CRS=EPSG:2001&BBOX=4762.7,-7860.5599999999995,4905.6900000000005,-7717.57

当我在浏览器中使用这样的链接时,它给了我一些我的元素 . 但是我的应用程序不打印任何元素 .

我的代码是这样的:

var projection = new ol.proj.Projection({
    code: 'EPSG:2001',
    extent: [4762.7, -8003.55, 4950.55, -7717.57],
    units: 'm'
});
ol.proj.addProjection(projection);

var mapcenter = [4880, -7930];

var mapzoom = 2;

var view = new ol.View({
    center: mapcenter,
    projection: projection,
    zoom: mapzoom
});

var wmsSource = new ol.source.TileWMS({
  url: 'http://localhost:8081/geoserver/wms',
  params: {'LAYERS': 'graves:graves', 'TILED': true, 'STYLES': 'graves' },
  serverType: 'geoserver',
  crossOrigin: 'anonymous'
});


var map = new ol.Map({
    layers: [ 
      new ol.layer.Tile({
          source: wmsSource
      })
    ],
    target: 'map',
    controls: ol.control.defaults({
      attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
        collapsible: false
      })
    }),
    view: view });

当然我也有一些div:

<div id="map" class="map" style="width: 1030px; height: 650px;border: 1px solid #0066CC;margin-bottom: 10px;"></div>

可能是这个问题的原因是什么?我在Firefox javascript控制台上看不到任何错误 . 我完全陷入困境 .

最好的祝福

1 回答

  • 0

    我终于解决了这个问题 . 问题出在tileWMS中:

    crossOrigin: 'anonymous'
    

    删除后,一切都按预期工作 . 谢谢大家的支持!

相关问题