Hi Rémi,
Use Fiddler or FireBug to capture the JSON that is being sent to your
server. This includes a legends property such as:
"legends":[{"name":"My
Layer","classes":[{"name":"","icons":["http://url.to.icon.....
Take the URL to the icon and see if you can access it correctly on the
print server. I had an of issue where the URL passed to the print
program pointed to the server's external URL which was not accessible
from the server itself.
Regards,
Seth G.
On 15/12/2010 12:05, Rémi Lagoin wrote:
[Sorry, it's Better in English]
No progress today ... any help is welcome:)
2010/12/15 Rémi Lagoin <[email protected]
<mailto:[email protected]>>
Pas de progression aujourd'hui ... toute aide est bienvenue :)
2010/12/14 Rémi Lagoin <[email protected]
<mailto:[email protected]>>
Thanks Andreas,
I also tried this example, the legendPanel works well,
printing the PDF is done, but I only have the layer name in
the caption, not the legend image associated.
Here is my code :
--------------
var mapPanel, printPage;
Ext.onReady(function() {
// The printProvider that connects us to the print service
var printProvider = new GeoExt.data.PrintProvider({
method: "GET", // "POST" recommended for production use
capabilities: printCapabilities // from the info.json
script in the html
});
// Our print page. Tells the PrintProvider about the scale
and center of
// our page.
printPage = new GeoExt.data.PrintPage({
printProvider: printProvider,
customParams: {
mapTitle: "Printing Demo",
comment: "This is a simple map printed from GeoExt.",
copyright: "This is a simple map printed from GeoExt."
}
});
feux = new OpenLayers.Layer.WMS("feux", "http://xxxx/feux",
{layers: "feux", format: 'image/jpeg',
transparent: true}, {singleTile: true});
// The map we want to print
mapPanel = new GeoExt.MapPanel({
region: "center",
layers: [feux],
center: [146.56, -41.56],
zoom: 6
});
// The legend to optionally include on the printout
var legendPanel = new GeoExt.LegendPanel({
region: "west",
width: 150,
bodyStyle: "padding:5px",
layerStore: mapPanel.layers,
defaults: {
style: 'padding:5px',
baseParams: {
FORMAT: 'image/png',
LEGEND_OPTIONS: 'forceLabels:on'
}
}
});
mapPanel.map.addControl(new
OpenLayers.Control.LayerSwitcher());
var includeLegend; // controlled by the "Include legend?"
checkbox
// The main panel
new Ext.Panel({
renderTo: "content",
layout: "border",
width: 700,
height: 420,
items: [mapPanel, legendPanel],
bbar: ["->", {
text: "Print",
handler: function() {
// convenient way to fit the print page to the
visible map area
printPage.fit(mapPanel, true);
// print the page, optionally including the legend
printProvider.print(mapPanel, printPage,
includeLegend && {legend: legendPanel});
}
}, {
xtype: "checkbox",
boxLabel: "Include legend?",
handler: function() {includeLegend = this.checked}
}]
});
});
-----------
And an extract of my Yaml config :
- !columns
widths: [100]
absoluteX: 300
spacingAfter: 5
items:
- !legends
maxIconWidth: 0
maxIconHeight: 0
classIndentation: 0
layerSpace: 5
layerFontSize: 10
Is something wrong ?
Thanks a lot,
Rémi
2010/12/13 Andreas Hocevar <[email protected]
<mailto:[email protected]>>
Hi,
have you tried to do something like in this example in
your code:
http://api.geoext.org/1.0/examples/print-page.html
The essential part is to call the PrintProvider's print
method with an additional option, e.g.
printProvider.print(mapPanel, printPage, {legend:
legendPanel});
Also note that it is required to configure the server's
config.yaml accordingly, as described here:
http://api.geoext.org/1.0/docs/lib/GeoExt/data/PrintProvider.html
- !legends
maxIconWidth: 0
maxIconHeight: 0
classIndentation: 0
layerSpace: 5
layerFontSize: 10
Regards,
Andreas.
On Dec 13, 2010, at 18:10 , Rémi Lagoin wrote:
> Hi all,
>
> I try to use the form print PDF GeoExt based servlet
mapfish geoext as in the example (1).
> The PDF generation is going well but I can not get the
icons of the layers in the legend, I get only the name of
the active layers.
>
> I use a TreePanel (with captions for each layer), a
legendPanel (because I assume that its presence is
essential to display the caption in the PDF?), And a
MapPanel (required I guess).
>
> I also tried the Geoext.ux.SimplePrint, but no more
success ... it gives me no icons layers ...
>
> The inclusion of the legend went very well with the
widget mapfish (LayerTree) I feel that this is not so
simple with a TreePanel and legendPanel ...
>
> Do you have any advice for me because I do not know what
to do to move forward ...
>
> Thanks a lot!
> Remi
>
> 1 - http://api.geoext.org/1.0/examples/print-form.html
_______________________________________________
> Users mailing list
> [email protected] <mailto:[email protected]>
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
--
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.
_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users