ThinkGeo.com    |     Documentation    |     Premium Support

Draw preview without using the tile cache images

Hello ThinkGeo-Team,


can I use PreviewTileCache without using the tile cache?


Here are some infos what I want to do:


If a user changes the extent I want to give a visual feedback by drawing the preview image until the entire map data is loaded.


But there are some known issues in the drawing logic of the tiles they are stored in tile cache. If I activate the caching system I can see the same issue as described in the following link:


gis.thinkgeo.com/Support/Dis...aspx#19536


So I want to use the caching system only to draw the preview images. The tile images they are created in the tile cache to improve the performance should not be drawn on the map - I do not know your internal logic but maybe the tiles in tile cache don't have to be created.


Do you have any suggestion how to realize my requirements?


Thomas



Thomas, 
  
 Thanks for your post and questions, sorry for the delay. 
  
 I am afraid if we do not create those tiles aim to boost up the performance, the preview visual feedback cannot be reached either because those visual feedback is done by those previous zoom level tile images. One way I can think about it is to create a new customized LayerOverlay inherits existing LayerOverlay, in the customized LayerOverlay, we can override the DrawCore API, at the beginning of it, we set the TileCache correctly while set it to null at the beginning of it, hope that make sense. 
  
 Any more questions please let me know. 
  
 Thanks. 
  
 Yale 


Hello Yale, 
  
 can you give me some more information how to overrride the DrawCore() method. I will make some test to decide if your suggestion would work for me. 
  
 Thomas

Thomas,


Thanks for your post and information.
 
Following is the code snippet showing how to override the DrawCore of the Overlay, the other option is to Override the DrawPreviewCore(GeoCanvas canvas) with your own logic to Draw the preview images.

public class MyLayerOverlay : LayerOverlay
{
        private BitmapTileCache tmptileCache = new FileBitmapTileCache(@"C:\Tmp", "Post8129");
        protected override void DrawCore(GeoCanvas canvas)
        {
            TileCache = null;
            base.DrawCore(canvas);
            TileCache = tmptileCache;
        }
}

 
Any more questions please feel free to let me know.
 
Thanks.
 
Yale