ThinkGeo.com    |     Documentation    |     Premium Support

Dynamic Web Map Resize

Hello,


 


When trying to set up my web map to automatically resize (ideally without a postback) when the client window is resized, the control itself resizes but the map is not updated to paint the new area.


What I ideally would like is to have the map try to resize but maintain the previous extents. Is there any easy way to implement this?


 


Thanks,


Nelson



Hello Nelson, 
  
 Thank you for your post, which version did you use? which overlay did you use? I can’t reproduce it with our websample. 
  
 If you use the Virtual Earth,  I believe the bug have fixed long time ago, please get the latest version and have a try. 
  
 If not, could you please provide more information? A simple sample will be helpful. 
  
 Regards, 
  
 Gary

I believe I use Static and Dynamic overlays. I do not use a Virtual Earth overlay or any equivalents. I only have shapefiles in those overlays. Unfortunately, the code-behind is somehwat complicated as I am at an early stage of porting it to the beginnings of a new ui.  
  
 I’ll see if I can recreate in a smaller sample project and post it up if I can recreate the issue there. Thanks for your time.

Nelson, 
  
 Thanks a lot, this problem is very weird, it will help a lot with the sample. 
  
 Regards, 
  
 Gary

This may actually be a web browser related issue as the later Firefox versions don’t seem to do this but in IE9 it does. I’m wondering if a simple work around is just to hook into the onresize event of perhaps the window or at least the containing div and somehow trigger a regular open layers map refresh. Ideally, i’d like to avoid forcing a full page-cycle post back. 
  
 Does this functionality exist either in the client side api of the component? I tried looking at the OpenLayers documentation but I couldn’t get it working.

Hello Nelson, 
  
 Sorry we don’t have that function in Map control, and I have tested in many browsers but can’t recreate, sorry I can’t make more help. 
  
 If you want to have some try, you can try fire the event in page’s onresize event: 
  
 <body bgcolor="#666666" onresize=“test()” onload=“getwah()”>

Then get your layer which did not refresh, use layer.redraw(true) to force refresh it.

Regards,

 Gary