ThinkGeo.com    |     Documentation    |     Premium Support

Silverlight version of Image with Worldfile

Hello,


I try to do the "Image with worldfile" demo from Web Edition in the new Silverlight Edition.


As far as I know, we need to do the GdiPlusRasterOverlay on the server and then give it to the silverlight MapSuite component. The silverlight will call a webservice (seems to be geotiles.axd) to get the tiles needed.


I use that code in the Default.aspx.cs web page :


GdiPlusRasterLayer gdipluslayer = new GdiPlusRasterLayer("~/app_data/World.tif"); 
gdipluslayer.UpperThreshold = double.MaxValue; 
gdipluslayer.LowerThreshold = 0; 
ServerLayerOverlay overlayworldfile = new ServerLayerOverlay("NativeServerWithPictureWorldfile"); 
overlayworldfile.Layers.Add(gdipluslayer); 
SilverlightMapConnector1.ServerLayerOverlays.Add(overlayworldfile); 


and this code in the Silverlight code behind (xaml.cs) :


Map1.MapUnit = GeographyUnit.DecimalDegree; Map1.Background = new SolidColorBrush(Color.FromArgb(255, 156, 187, 216)); Map1.CurrentExtent = new RectangleShape(-131.22, 55.05, -54.03, 16.91); ServerLayerOverlay overlay = new ServerLayerOverlay("NativeServerWithPictureWorldfile", "SilverlightMapConnector1"); overlay.Name = "ImageWorldfile" Map1.Overlays.Add(overlay); Map1.Refresh(); 


I don't know if I forget something or I don't understand MapSuite logic for "image with worldfile" demo, but the image is not visible on the screen.


Thanks you in advance for your help.



After some test, I see I have Internal Error from GeoTile.axd.


Exemple: localhost:2624/GeoTile.axd?S...47647947.5




When I go on that URL, I got the following exception : 

[NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
   ThinkGeo.MapSuite.SilverlightEdition.TileHandler.x9c3aae438f9460cd(HttpContext x367528c7f091a5d2) +1257
   ThinkGeo.MapSuite.SilverlightEdition.TileHandler.ProcessRequest(HttpContext context) +124
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

Maybe that could help to find the issue.


 



Hi Sebastien, 
  
 I can tell this issue is from the server side, not client side. There are three possibility to cause this issue. 
  
 1. It may cause by the culture issue. Please let me know what’s the language are you using? . 
 2. The parameters of the connector. could you attach the server part code? I’ll check it for you. 
 3. Missing DLL reference. For example the raster layer needs reference some specific DLLs in your system32 folder; please copy all the files and folders from system32 in our installed directory to your system32 folder again; rebuild your application. 
  
 Please provide me more information. 
  
 Thanks, 
 Howard