Bonjour,
Me revoilà sur le Forum, avec de nouvelles questions printmap (cette fonctionnalité est plébiscitée par les utilisateurs de mon site).
URL du site :
http://bouffee-oxygene.touriloire.fr...circuit_id=438
Côté implémentation, je suis parti sur :
Puis la fonction js_addPrintButton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 iv = Geoportal.load( ...... eventListeners:{ "loadend" : function() { if (this.maxExtent) { //Zoom et recentrage sur l'emprise maxi this.setVisibility(true); this.map.zoomToExtent(this.maxExtent); } js_addPrintButton(); } } ... );
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function js_addPrintButton(){ viewer=iv.getViewer(); var nv=viewer.getMap().getControlsByClass('Geoportal.Control.NavToolbar')[0]; nv.addControls([new Geoportal.Control.PrintMap({ size: new OpenLayers.Size(1000,600), title: 'toto', header: function() { return ''; }, footer: function() { return ''; },//check this! epilog: function() { return '<p>titi</p>'; }, prolog: function() { return '<h3>tutu</h3>'; }, popupSettings:"menubar=yes" })]); }
Questions :
1- Est-il possible, en plus de l'icône "imprimer" inclus sur la barre d'outil, d'avoir un second bouton "imprimer", plus gros, dans la page HTML en dehors de la map ?
La petite imprimante est bien, mais je voudrais proposer aussi cette même fonctionnalité un peu plus bas (avec les autres fonctionnalités du site : "imrimer"/"kmz"/"gpx".. ).
Je n'ai pas réussi à trouver dans Firebug la fonction javascript (ou le trigger?) qui permette de dupliquer cette fonctionnalité.
2- Est-il possible d'inclure les "originators" dans la version imprimée ?
En effet, les originators s'affichent bien sur la carte initiale, mais n'apparaissent plus lors du "printmap()".
Y a-t-il une solution pour les "réinjecter" ?
3- Est-il possible de reforcer le zoom sur la version à imprimer ?
En effet, l'aperçu imprimable est taillé en longueur/hauteur pour une impression optimale.. du coup, le zoom de la page initiale, sur une map plus petite, est trop petit.
L'idée serait de refaire un "this.map.zoomToExtent" dans le printMap(), pour qu'il se recale sur la nouvelle taille de map plus grande..
J'ai tâtonné avec :
http://gpp3-api-ign-fr.aw.atosorigin...ntrol.PrintMap
... Cette doc est encore correcte ? toutes mes tentatives ("onPrint", "setScripts"..) se sont soldées par des échecs..
Partager