我正在使用GeoServer(2.1.1),GeoWebCache(1.2.6),OpenLayers(2.11),GeoExt開發webGIS應用程序。我所有的圖層都通過GeoWebCache作爲wms服務。對於任何層的樣本定義如下:如何將MapFish打印模塊用於GeoServer-GeoWebCache圖層?
var My_Layer = new OpenLayers.Layer.WMS("My_Layer",
"http://my-ip + my-port/geoserver/gwc/service/wms",
{layers: 'layer-name',transparent: "true",format: "image/png",
tileSize: new OpenLayers.Size(256,256),
tilesOrigin : map.maxExtent.left + ',' + map.maxExtent.bottom },
{ isBaseLayer: false, visibility:false});
一切工作正常,直到這一點。但是,當我計劃提前一點並嘗試實施MapFish打印模塊......輸出pdf是空白的!我收到以下錯誤消息:
java.io.IOException異常:錯誤(狀態= 400),而從........
讀取圖像 我尋覓了許多。根據this一個選項是訪問我的圖層作爲TMS層。但我不想要一個靜態圖像層,而不是一個GeoServer WMS地圖圖層。
再次發現另一個選項here正在使用OpenLayers.Control.ExportMap()。 但由於我的數據範圍太大,限制使用不同的比例。因此,如果用戶想要打印整個地圖區域(可能在A0文件中),這在Openlayers div中完全不可見,這就無法解決目的。
所以問題是我該如何做到這一點,而不使用TMS或GeoWebCache圖層?
編輯#1: 對不起我遲到了,因爲我不在辦公室。以下是我的config.yaml文件。我覺得沒有錯誤,這可以打印我的WMS圖層,直接來自GeoServer。
dpis: [75, 150, 300]
outputFormats:
- pdf
scales:
- 10000
- 25000
- 50000
- 100000
hosts:
- !localMatch
dummy: true
- !ipMatch
ip: www.camptocamp.org
- !dnsMatch
host: labs.metacarta.com
port: 80
- !dnsMatch
host: terraservice.net
port: 80
- !dnsMatch
host: sigma.openplans.org
- !dnsMatch
host: demo.mapfish.org
layouts:
A4 portrait:
metaData:
title: 'Arunava TopoMap PDF'
author: 'Arunava print module'
subject: 'Map layout'
keywords: 'map,print'
creator: 'Arunava'
mainPage:
pageSize: A4
rotation: true
items:
- !text
text: '${mapTitle} ${now MM.dd.yyyy}'
fontSize: 20
spacingAfter: 30
- !map
spacingAfter: 30
width: 440
height: 600
- !scalebar
type: bar
maxSize: 100
barBgColor: white
fontSize: 8
align: right
- !text
font: Helvetica
fontSize: 9
align: right
text: '1:${scale}'
footer: *commonFooter
A2 portrait:
metaData:
title: 'Arunava TopoMap PDF'
author: 'Arunava print module'
subject: 'Map layout'
keywords: 'map,print'
creator: 'Arunava'
mainPage:
pageSize: A2
rotation: true
items:
- !text
text: '${mapTitle} ${now MM.dd.yyyy}'
fontSize: 20
spacingAfter: 30
- !map
spacingAfter: 30
width: 880
height: 1200
- !scalebar
type: bar
maxSize: 100
barBgColor: white
fontSize: 8
align: right
- !text
font: Helvetica
fontSize: 9
align: right
text: '1:${scale}'
footer: *commonFooter
mapfish配置是否正確?你可以發佈config.yaml嗎? – igorti 2012-03-30 13:49:16