source:
trunk/workshop-routing-foss4g/web/GeoExt/examples/print-page.js
@
76
| Revision 76, 2.3 KB checked in by djay, 14 years ago (diff) | |
|---|---|
|
|
| Rev | Line | |
|---|---|---|
| [76] | 1 | /** |
| 2 | * Copyright (c) 2008-2010 The Open Source Geospatial Foundation | |
| 3 | * | |
| 4 | * Published under the BSD license. | |
| 5 | * See http://svn.geoext.org/core/trunk/geoext/license.txt for the full text | |
| 6 | * of the license. | |
| 7 | */ | |
| 8 | ||
| 9 | /** api: example[print-page] | |
| 10 | * Print Your Map | |
| 11 | * -------------- | |
| 12 | * Print the visible extent of a MapPanel with PrintPage and PrintProvider. | |
| 13 | */ | |
| 14 | ||
| 15 | var mapPanel, printPage; | |
| 16 | ||
| 17 | Ext.onReady(function() { | |
| 18 | // The printProvider that connects us to the print service | |
| 19 | var printProvider = new GeoExt.data.PrintProvider({ | |
| 20 | method: "GET", // "POST" recommended for production use | |
| 21 | capabilities: printCapabilities // from the info.json script in the html | |
| 22 | }); | |
| 23 | // Our print page. Tells the PrintProvider about the scale and center of | |
| 24 | // our page. | |
| 25 | printPage = new GeoExt.data.PrintPage({ | |
| 26 | printProvider: printProvider, | |
| 27 | customParams: { | |
| 28 | mapTitle: "Printing Demo", | |
| 29 | comment: "This is a simple map printed from GeoExt." | |
| 30 | } | |
| 31 | }); | |
| 32 | ||
| 33 | // The map we want to print | |
| 34 | mapPanel = new GeoExt.MapPanel({ | |
| 35 | region: "center", | |
| 36 | layers: [new OpenLayers.Layer.WMS("Tasmania", "http://demo.opengeo.org/geoserver/wms", | |
| 37 | {layers: "topp:tasmania_state_boundaries"}, {singleTile: true})], | |
| 38 | center: [146.56, -41.56], | |
| 39 | zoom: 7 | |
| 40 | }); | |
| 41 | // The legend to optionally include on the printout | |
| 42 | var legendPanel = new GeoExt.LegendPanel({ | |
| 43 | region: "west", | |
| 44 | width: 150, | |
| 45 | bodyStyle: "padding:5px", | |
| 46 | layerStore: mapPanel.layers | |
| 47 | }); | |
| 48 | ||
| 49 | var includeLegend; // controlled by the "Include legend?" checkbox | |
| 50 | ||
| 51 | // The main panel | |
| 52 | new Ext.Panel({ | |
| 53 | renderTo: "content", | |
| 54 | layout: "border", | |
| 55 | width: 700, | |
| 56 | height: 420, | |
| 57 | items: [mapPanel, legendPanel], | |
| 58 | bbar: ["->", { | |
| 59 | text: "Print", | |
| 60 | handler: function() { | |
| 61 | // convenient way to fit the print page to the visible map area | |
| 62 | printPage.fit(mapPanel, true); | |
| 63 | // print the page, optionally including the legend | |
| 64 | printProvider.print(mapPanel, printPage, includeLegend && {legend: legendPanel}); | |
| 65 | } | |
| 66 | }, { | |
| 67 | xtype: "checkbox", | |
| 68 | boxLabel: "Include legend?", | |
| 69 | handler: function() {includeLegend = this.checked} | |
| 70 | }] | |
| 71 | }); | |
| 72 | }); |
Note: See TracBrowser
for help on using the repository browser.