ThinkGeo.com    |     Documentation    |     Premium Support

Print Map with Legend









Hi


 


How do I print map with Legend data form aspx page?


 


Please see attached ‘Print Map,gif’ for main look.


 


When user clicks on print button/icon I want to show and print Map with left side legend data only. I have modified an image that needs to print through program on button click on aspx page. Please find attached ‘Print Map Legend.gif".  On this image, things that marked with red line/box should not print.


 


I am using ThinkGeo web edition with .NET 3.5 (using c# and asp.net)


 


Thanks


Hiren




1356-Print_Map.GIF (82.1 KB)
1357-Print_Map_Legend.GIF (83.6 KB)

Hiren, 
  
 Technically, to print a aspx page, you can use javascript:window.print() function to implement your requirement. But in you scenario, you want to do some special operations to the map. The best way is to add another page which accept some basic configuration of the map and your legend as get parameters. Then call the JavaScript function to print the new page. It’s the easiest way to do it as far as I know.  
  
 Hope it makes sense. 
  
 Please let me know if you have more questions. 
  
 Thanks, 
 Howard









Howard,


 


I got your idea, but not sure how to pass map configuration to new page.


Can you provide me such sample?  


 


Thanks


Hiren




Hi Hiren, 
  
 I think Howard’s idea is like this:  
  
 At first, you need to copy a new web page from the original web page. This new one is just exactly same as the old one. Then you need to close the PanZoomBar in the new page’s map control, and remove the navigator buttons from the new page. You may also need to pass the current extent to the new page. At last, just call the window.print() to print the new web page.   
  
 Any more questions please let us know. 
  
 Thanks, 
  
 Sun 










Hi Sun,


 


Thanks for reply.


I will try out. But this going to be affect web performance as I have 22 shape layers


 


Thanks


Hiren




Hi Hiren,



This may affect the web performance. But actually, it's another page you are rendering which won't affect the first page you are using. 



On the other hand, I have another solution which is more complicate than my first one. Please see my attached sample which is only two simple HTML page. One thing you need to do is to remove the DOM Tree Node which you don't want to display in the parent page. 



Please have a try and let me know if you have any questions.



Thanks,

Howard



1380-Post6518.zip (823 Bytes)

Howard,



Thanks for reply.

I will try out and let you know if there is any issue.



Thanks

Hiren



Hiren, 
  
 Okay; this solution is much faster than the first one; please try it out. 
  
 Thanks, 
 Howard