OpenLayers からマップを印刷するにはどうすればよいですか? OpenLayers ページに印刷ボタンを追加したい =) ジオサーバー用の MapFish 拡張機能がありますが、それにリクエストを行う方法がわかりません。他のアイデアは大歓迎です)助けてください。
質問する
7385 次
2 に答える
3
パブリックURLではなくinfo.jsoncontaisローカルIPリファレンスから回答を見つけたため、リバースプロキシを使用して同様の問題が発生しました
残酷に解決するために、私はajaxリクエストでipreferenzeをpublicurlに置き換えました(次のコードを参照してください。他の人に役立つことを願っています...
this.capabilities.createURL = this.capabilities.createURL.replaceAll("192.168.0.0:8080", "mypublicurl");
this.capabilities.printURL= this.capabilities.printURL.replaceAll("192.168.0.0:8080", "mypublicurl");
Ext.Ajax.request({
url:this.capabilities.createURL,
jsonData:jsonData,
success:function(response){
response.responseText = response.responseText.replaceAll("192.168.0.0:8080", "mypublicurl");
window.open(Ext.decode(response.responseText).getURL);
}
});
于 2012-11-09T08:30:36.847 に答える
1
最も簡単な方法は、GeoExt.PrintMapPanel ( geoext の例) を使用することです。そして必ずGeoServer 印刷モジュールを読んでください。
UPD GET リクエストの例。URL、「baseURL」、「layers」を変更する必要があります。既存のレイヤーを指定する場合、このリクエストは pdf ファイルを返す必要があります。
http://demo.opengeo.org/geoserver/pdf/print.pdf?spec={"units":"degrees","srs":"EPSG:4326","layout":"A4","dpi":75,"mapTitle":"Printing Demo","comment":"This is a simple map printed from GeoExt.","layers":[{"baseURL":"http://demo.opengeo.org/geoserver/wms","opacity":1,"singleTile":true,"type":"WMS","layers":["topp:tasmania_state_boundaries"],"format":"image/jpeg","styles":[""]}],"pages":[{"center":[146.56000000001,-41.56],"scale":8192000,"rotation":0}]}
于 2012-10-04T08:14:02.487 に答える