4 votos

Problemas al añadir una función de impresión a GeoExt MapPanel

Estoy tratando de añadir la función de impresión a mi aplicación web GeoExt 2, como:

http://geoext.github.com/geoext2/examples/printpreview/print-preview.html

primero estoy probando esto usando las mismas urls de ejemplo, así que en app.html añado:

<script type="text/javascript" src="http://demo.opengeo.org/geoserver/pdf/info.json?var=printCapabilities"></script>

entonces en mi archivo js :

printProvider : Ext.create('GeoExt.data.PrintProvider', {
            method: "GET", 
            capabilities: printCapabilities,
            customParams: {
                mapTitle: "GeoExt Printing Demo",
                comment: "This demo shows how to use GeoExt.PrintMapPanel"
            }
        }),

myP = Ext.create('GeoExt.panel.Map', {
            renderTo: "content",
            width: 500,
            height: 350,
            map: {
                maxExtent: new OpenLayers.Bounds(
                    143.835, -43.648,
                    148.479, -39.574
                ),
                maxResolution: 0.018140625,
                projection: "EPSG:4326",
                units: 'degrees'
            },
            layers: [new OpenLayers.Layer.WMS("Tasmania State Boundaries",
                "http://demo.opengeo.org/geoserver/wms",
                {layers: "topp:tasmania_state_boundaries"},
                {singleTile: true
                 , numZoomLevels: 8
                    })],
            center: [146.56, -41.56],
            zoom: 0,
            bbar: [{
                text: "Print...",
                handler: function(){
                    // A window with the PrintMapPanel, which we can use to adjust
                    // the print extent before creating the pdf.
                    printDialog = Ext.create('Ext.Window', {
                        title: "Print Preview",
                        layout: "fit",
                        width: 350,
                        autoHeight: true,
                        items: [{
                            xtype: "gx_printmappanel",
                            sourceMap: myP,
                            printProvider: printProvider 
                                }
                            ],
                        bbar: [{
                            text: "Create PDF",
                            handler: function(){ printDialog.items.get(0).print(); }
                        }]
                    });
                    printDialog.show();
                }
            }]
        });

pero sigo recibiendo Cannot read property 'capabilities' of undefined error. No estoy seguro de lo que me falta aquí :(

1voto

William Sham Puntos 106

¿has probado a cambiar la dirección del info.json?

También estoy usando las funciones de impresión y pongo la dirección del módulo de impresión de geoserver

http://127.0.0.1:8080/geoserver/pdf/info.json?var=printCapabilities

(sólo si tiene geoservidor instalado localmente).

Házmelo saber.

Adiós

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X