ThinkGeo.com    |     Documentation    |     Premium Support

Wpf Desktop google and bing map caching

Hi, I am new to both GIS and ThinkGeo so need some help.


I am working on Google and Bing maps and I can see that there is an option for caching. Since I am working on data from the South Pacific and I don't think the map details change much or even if they do they are not important, how can I cache information for say up to 1 month or more.


Can I enhance the software to cache all the South Pacific data from google/bing once a month and use the offline copy?


The wpf version seems to download Bings maps quite slowly and since my users will have internet connection speeds of a 56k modem, I would prefer to download and use the information if possible.


Do you have any other suggestions for this scenario?



Hello Bimal, 



Thanks for your post. 



Yes our GoogleMapsLayer and BingMapsLayer both have the CacheDirectory property, that can help you to using the cache to show the map. 



Please see the code below, it can show you how to use cache: 


        private void WpfMap_Loaded(object sender, RoutedEventArgs e)
        {
            // Please set your own information about those parameters below.
            string applicationID = "YourApplicationID";
            string cacheDirectory = @"c:\temp\";
            BingMapsLayer worldLayer = new BingMapsLayer(applicationID, BingMapsMapType.Road, cacheDirectory);
            worldLayer.CacheDirectory = cacheDirectory;
            worldLayer.MapType = BingMapsMapType.Road;
            wpfMap1.MapUnit = GeographyUnit.Meter;
            wpfMap1.CurrentExtent = new RectangleShape(-10000000, 10000000, 10000000, -10000000);
            LayerOverlay worldOverlay = new LayerOverlay();
            worldOverlay.IsVisible = true;
            worldOverlay.Layers.Add("WorldLayer", worldLayer);

            wpfMap1.Overlays.Add("WorldOverlay", worldOverlay);
            wpfMap1.Refresh();
            
        }



And you need delete the cache folder manual or remove the CacheDirectory property to stop using cache. 



Any more questions please feel free to let us know. 



Regards, 



Gary