ThinkGeo.com    |     Documentation    |     Premium Support

SilverlightMapConnector AG_E_NETWORK_ERROR

Hi guys,


I've been getting this error on Internet Explorer for quite a while now whenever I debug the application:


  Sys.InvalidOperationException: ImageError error #4001 in control 'ctl00_cph1_SilverlightMapConnector1': AG_E_NETWORK_ERROR  ScriptResource.axd?d=hnwSPjnGpQJnH3kf6ssukDvNPdnpCS37fE8yij37vkZ8E2c-0XC6GmYsNSOxD35F0&t=593d2f70, line 437 character 17


I get the same error repeatedly (must be for every tile of the map it's trying to load) and none of the tiles are loaded. Any ideas?


Thanks,


Nirish



Nirish, 
  
 There might be two reason to cause your issue; 1, the web page which runs XAP file doesn’t have SilverlightMapConnector; Silverlight map control must work with the connector; 2, the map data such as shape file cannot be found on the server side; please place the map data to the right directory. 
  
 If the issue still exists, please send us your application and we’ll check for you. 
  
 Thanks, 
 Howard

Hi Howard, 
  
 I’ve checked both of those requirements and they’re already there. I’ve even compared our solution to your sample in the quick start guide which loads the map on a different screen instead of the startup screen but I still can’t find the problem.  
  
 This is how our solution is structured: We have a mapping control Silverlight app which contains the Thinkgeo map. There’s another Silverlight app which hosts the mapping control app in an independent user control. The user control is within the main page. The second Silverlight app is hosted by an ASP.NET site which loads the shape layers into the silverlight map connector in a mainpage which is the page the user see after they log in.  
  
 Additionally, the map tiles have the text ‘Object not referenced…’ error text displayed on them.  
  
 If I had send our app to you, how would I do it? I’m not sure how I can the send whole thing as there’s a lot of company-specific code in the projects.  
  
 Thanks, 
  
 Nirish

Hi Nirish,


You could send your sample to support@thinkgeo.com and ask him to forward it to Howard.
Please let us know if you have any more questions.
Thanks,
Sun

I had this problem. It turned out that I had to put the ASPX/ASCX page in the root of my web application. Or change the Url of the Shape files to a relative path instead of an absolute path.

Thanks for your reply, Christin. 
  
 Nirish, if you still have any questions on it, please feel free to let us know. 
  
 Thanks, 
 Howard

Thanks Christian / Howard. 
  
 After trying out quite a few things (including Christian’s solutions), I’m at a stage where the map tiles are displaying properly with no image error messages. However, when it’s running from a server, not the local machine, I still get the “Object reference not set…” text on the blue background areas of the map while the shape objects are being loaded on it. 
  
 I’m still confused as to what fixed it but here are a few things I tried: 
  
 - Set the ServerCache and the ServerCacheId of the ServerLayerOverlay. This seemed to display the shape objects on the map, but it still worked after I commented out those lines. 
  
 - Played around with the relative paths of the shape files. Eg. ‘’~/app_data/country.shp’, ‘~/~/app_data/country.shp’ etc. 
  
 - Sometimes, when VS couldn’t find any references to the SilverlightMapConnector in the aspx page, I had to change the MasterPageFile path from “~/Template/App.Master” to “/Template/App.Master”. But it didn’t work in the server. So I had to change it back. 
  
 The most recent errors I’m getting: 
  
 - The same JS image error when add the label layers to the server layer overlay. So I’ve commented those lines out for now. It’s getting all the tiles from the pre-generated cache images which already have the label text on them. 
  
 - The VS debugger detaches itself from the process after a minute or two of debugging and / or when the user moves the map around.  
  
 It’s definitely not a straightforward problem-free implementation when it comes to larger and more complex applications. There are so many variables at play. Maybe ThinkGeo can have a ‘Troubleshooting’ section with solutions to the issues regularly faced by developers.  
  
 Thanks, 
  
 Nirish

Nirish, 
  
 Sorry, I’m not quite sure something in your last reply, so I repeat again, please confirm with me. 
  
 1, the map works fine when the server cache is on or off. 
 2, when you played around the relative path of the shape files, what happened. Which relative path fixes your issue? 
 3, when you changed the MaterPage of your content, the map works incorrectly on a server such as IIS? If possible, please send us the remote address of the page you accessed. 
  
 Currently, Silverlight doesn’t have a good exception experience for image error. When the server throws exceptions, the Image control will throw JS error on the web page which we cannot handle for now. It’s a good suggestion to have a “Troubleshoot” section to the issues. If you have any requirements on the “Troubleshoot” stuff, please provide us so that we can have a good design in the future. 
  
 Looking forward your feedback. 
  
 Thanks, 
 Howard

1, the map works fine when the server cache is on or off.   
  
 The map works fine in both settings now. It initially threw the image errors when I wasn’t using the server cache. After I turned it on, it stopped throwing the errors as it got the images from the server cache. I again turned it off and it still worked. Very confusing, I know.  
  
  2, when you played around the relative path of the shape files, what happened. Which relative path fixes your issue?  
  
 Running on the remote server without the tilde (~) in the path threw errors. So I left the ~ in there and it works fine now. 
  
 3, when you changed the MaterPage of your content, the map works incorrectly on a server such as IIS? If possible, please send us the remote address of the page you accessed.  
  
 Yeah, when I removed the ~, it threw exceptions in the server side. Unfortunately, it’s running it in our internal network. So I can’t send you a link at the moment. 
  
 The JS image errors are really frustrating due to the fact that I can’t debug them. So it’s really difficult to find the root cause(s) of the errors. 
  
 Do you know why I’m still getting the 'Object reference not set…" error text on the blue background of the map?  
  
 Thanks, 
  
 Nirish

Nirish, 
  
 When you turn the server cache off, the tiles may request from the IE cache. Please clear the IE’s cache before running you app without server cache again. I’m sorry for the image’s exception because of the Silverlight engine. We think we can do more work on the Silverlight exception framework, we may make it more sense with the new Silverlight framework in the future.  
  
 “Object reference not set” may caused by serveral issues in the code. If possible, please send us a demo and a screenshot to us so that we can recreate your issue. 
  
 Thanks, 
 Howard

Hi guys,


I've attached the screenshot of the error I'm getting. As you can see, the map tiles are loading but the blue background shows the error "Object reference not set to an instance of an object".



It's going to be a bit of pain to send you a demo as our map control is embedded into our enterprise app. 


Thanks,


Nirish



Nirish,


From the screenshot you have posted in the last post, maybe you have added more than one layer to map control, please use the OverlaySwitcher map control to check which layer is wrong, the code likes below:




Map1.MapTools.OverlaySwitcher.IsEnabled = true;


Another thing is that if possible, please send us a small simple sample about your issue, just need to include the code for adding layers or other something you think it's related with that issue.


Any more question please let me know.


Thanks,


Johnny



Hello Johnny,


Thanks for your reply. Yes, we have added multiple layers onto the map. I enabled the overlayswitcher but it does not display the list of overlays on the map (please refer to the image below). I've attached MainPage.aspx.cs which loads the shape files. I hope that helps.


 


Thanks,


Nirish



1673-MainPage.aspx.cs (22 KB)

Nirish, 
  
 We have checked out your last posted code; we find that you have added many layers on the server side, please make sure that every shape file exists in the right folder, maybe that’s the problem. The displayed images maybe come from cache, so first off you need to delete all the cache, and then check whether every file exists. 
  
 Any more question please let me know. 
  
 Thanks, 
  
 Johnny  


Thanks Johnny. Found the bug! I forgot to use MapPath() when returning the the path of the shape files. It’s working fine now. Thanks for your help! 
  
 Nirish

Nirish, 
  
 You are always so welcome.  
  
 Any more question please let me know. 
  
 Thanks, 
  
 Johnny