ThinkGeo.com    |     Documentation    |     Premium Support

Dynamically adding a raster layer

Greetings!


I would like to load a raster layer onto the map only when the user clicks a button on the client side.  I know that raster layers can only be generated server side, so I was wonder what was the best way to go about achieving this?


Thank you for your time and all your help.


.Ryan.



Ryan, 
  
 First of all, I’ll explain how our Silverlight Edition works. We have silverlight control which runs on the client side; server control which helps to config your map such as adding layers and styles; also we have a temporary WMS server which loads map configurations and generates images for the requests from the client side.  
  
 We save all your configurations into session so that the temporary server can get the configuration then rendering the map. 
  
 For your requirement, the only thing we need to do is that use client event to change the server configuration. So I think we can use callback to change the configuration which you write in the aspx page. 
  
 Here are my tips. 
 1) Use client button to raise a callback. 
 2) Get the ServerLayerOverlay on the server side in the callback event method 
 3) Adding the raster layer in to the ServerLayerOverlay which you get in step 2). 
 4) Refresh the ServerLayerOverlay in the async method when the callback method success; 
  
 Hope it makes sense; let me know if you have any questions. 
  
 Thanks, 
 Howard

Howard,


I'm sorry... I'm new to Silverlight and web programming... would it be possible to get an example of this?  I think my biggest hang-up is not understanding exactly how to interact with the SilverlightMapConnecter at the server level from the client level.  Any help and an example would be greatly appreciated.


Thank you for your time and help,


Ryan



Ryan, 
  
 You are fine; it’s complicated to maintain client and server state. I’m on holiday today so I don’t have the environment now. I’ll work on a sample for you tommorrow. 
  
 Please let me know if you have more questions. 
  
 Thanks, 
 Howard

Ryan, 
  
 I found a bug when I implement your requirement. I have fixed it today. We’ll send you a sample with the latest temporary build next week.  
  
 Thanks, 
 Howard

Howard,


I was just curious if there is any progress on this?  Thanks.


.Ryan.



Ryan, 
  
 I send the sample to our support. Maybe they are too busy so that forgot it. I’ll remind him to send the sample and temporary build  to you today. 
  
 Sorry for the inconvenience. 
  
 Thanks, 
 Howard

Ryan,  
  
 Please see your FTP folder for the latest build of Map Suite Silverlight Evaluation Edition 3.0 and the sample application Howard referred to.

Howard, 
  
 I’ve received the updates and the sample, however it is not exactly what I am looking to do.  In the sample, the button that is being clicked is on the ASP page, whereas I’m looking for a way to load a raster layer from the server when the user clicks on a button within the Silverlight user control if possible.  Any help would be greatly appreciated. 
  
 Thanks, 
 Ryan

Ryan, 
  
 The sample shows you how to add a ShapeFileFeatureLayer dynamically in Silverlight. You can simply change the ShapeFileFeatureLayer to any kind of layer such as RasterLayer. On the other hand, the button is in ASPX page. You can implement a callback to replace this click event. I guess you know how to implement calling JavaScript within Silverlight and how to implement callback.  
  
 We are preparing for a new public release this week; please try my idea. If you cannot implement it, I’ll work on the sample you want after Thursday. 
  
 Hope you understand. 
  
 Thanks, 
 Howard