Skip to main content
A newer version of this page is available. .

CacheOptions.DiskFolder Property

Gets or sets a disk folder to which the saved image tiles of the map control are stored.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v20.1.dll

NuGet Package: DevExpress.Win.Map

Declaration

[DefaultValue("")]
public string DiskFolder { get; set; }

Property Value

Type Default Description
String String.Empty

A string value that is the disk folder for saved images.

Property Paths

You can access this nested property as listed below:

Object Type Path to DiskFolder
BingMapDataProvider
.CacheOptions .DiskFolder
ImageTileDataProvider
.CacheOptions .DiskFolder
MapboxDataProvider
.CacheOptions .DiskFolder
MapDataProviderBase
.CacheOptions .DiskFolder
MapTileDataProviderBase
.CacheOptions .DiskFolder
MbTilesDataProvider
.CacheOptions .DiskFolder
OpenStreetMapDataProvider
.CacheOptions .DiskFolder
UriBasedVectorTileDataProvider
.CacheOptions .DiskFolder
VectorTileDataProviderBase
.CacheOptions .DiskFolder

Example

This example illustrates what is required to customize the local cache of a map control.

The local cache allows you to save internet resources and significantly increase map performance by loading saved map tiles from the local directory.

To enable map cache, specify the directory to which the loaded map tiles will be saved using the CacheOptions.DiskFolder property and the time interval after which the loaded map tiles should be updated using the CacheOptions.DiskExpireTime property. To access the CacheOptions object, use the MapTileDataProviderBase.CacheOptions property.

In addition, you can specify the amount of memory on the computer and disk space (in megabytes) for storing tile images via CacheOptions.MemoryLimit and CacheOptions.DiskLimit properties, respectively.

In this example tile images of a map are loaded from the OpenStreetMap resource.

using System;
using System.Windows.Forms;
using DevExpress.XtraMap;

namespace CacheImageTiles {
    public partial class Form1 : Form {
        public Form1() {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e) {
            // Create a map control.
            MapControl map = new MapControl();

            // Specify the map position on the form.           
            map.Dock = DockStyle.Fill;

            // Add the map control to the window.
            this.Controls.Add(map);

            // Create an image tiles layer and add it to the map.
            ImageLayer tilesLayer = new ImageLayer();
            map.Layers.Add(tilesLayer);

            // Create an Open Street data provider.
            OpenStreetMapDataProvider provider = new OpenStreetMapDataProvider();
            tilesLayer.DataProvider = provider;

            // Customize a local cache for storing image tiles obtained from the Open Street provider.
            provider.CacheOptions.DiskFolder = "C://MapTiles"; 
            provider.CacheOptions.DiskExpireTime = new TimeSpan(01,00,00);
            provider.CacheOptions.MemoryLimit = 64;           
            provider.CacheOptions.DiskLimit = 200;
        }
    }
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DiskFolder property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also