ThinkGeo.com    |     Documentation    |     Premium Support

JavaScript error with multiple maps when one is hidden

Hi,


I'm using a standard ASP.NET MultiView control with different ThinkGeo map controls present inside their own View container. Having just upgraded to 4.0 I'm now getting a JavaScript error that's preventing any of the maps from initialising properly.


The problem seems to be some JavaScript that's referencing a map control that isn't inside the current view and therefore doesn't exist at that point in time. For example, if there are two map controls "thinkGeoMapControl1" and "thinkGeoMapControl2" inside different views, the following code is rendered whenever one of those views is active.



WebForm_InitCallback();Sys.Application.remove_load(CreateMapctl00_cph_thinkGeoMapControl1);
Sys.Application.remove_load(CreateMapctl00_cph_thinkGeoMapControl2);

The problem is that if the view containing thinkGeoMapControl1 is currently active, thinkGeoMapControl2 doesn't exist so the initialisation call fails and the rest of the JavaScript block doesn't execute.


As this is all automatically generated script I can't see a way to work around it without a change in Map Suite to check whether a map is actually visible when iterating through all the controls on the page?


Best regards,


Gary



Gary, 
  
 Thanks for handling the issue, which has been fixed now, and I think you can get it from coming release on June 17th. If it’s critical for you, please let us know. 
  
 Thanks, 
  
 Johnny 


Hi Johnny, 
  
 Thanks for the feedback and for fixing it so quickly. It is fairly critical for us as we were due to go live next week and hadn’t planned on upgrading to 4.0 just yet, but a different problem with the managed projection library has forced us to do so. We’re now going through and re-testing everything and so we can’t really sign off the release into production until we have this fixed, so if you can provide something sooner for us that would be great. 
  
 Best regards, 
  
 Gary

Gary, 
  
 The modification was made to some private methods in MapControl class, so it’s not a good idea if I provide some workaround, we will release an update with version 4.0 on June 17th, so we are testing all the products this week. Please ask support@thinkgeo.com for the update if you want it. 
  
 We have made some modifications to the license strategy, which requires you to install the product again. Sorry for the inconvenience. 
  
 Thanks, 
  
 Johnny  


Hi Johnny, 
  
 I’ve upgraded to version 4.0.40.0 and am still having this problem. Can you confirm that the fix is indeed included in this version? 
  
 Best regards, 
  
 Gary

Gary, 
  
 Sorry that we just took a temporary solution to fix the issue, so we didn’t add it to public release finally. It’s still in our work list and requires full test before making it public.  Could you contact the support@thinkgeo.com for the specified version 4.0.37.0 today? Please add some information, such as the package Johnny specified, in the Email. I’m gonna remind them to give you the right one on specified path. Sorry for the inconvenience.  
  
 Thanks, 
  
 Johnny. 


Hi Johnny, 
  
 Just to confirm that I’ve got 4.0.37.0 now and this does indeed fix the problem. 
  
 Best regards, 
  
 Gary

Gary, 
 That’s very nice. Any questions please let us know. 
 Thanks, 
 Johnny