Skip to main content

CacheOptions Class

Contains settings that define parameters of a local cache to store image tiles.

Namespace: DevExpress.Xpf.Map

Assembly: DevExpress.Xpf.Map.v23.2.dll

NuGet Package: DevExpress.Wpf.Map

Declaration

public class CacheOptions :
    MapDependencyObject

The following members return CacheOptions objects:

Remarks

The local cache stores map tiles loaded from the GIS data provider. So, when you navigate to the same geographical locations, the map tiles are loaded from your local directory, saving your internet resources.

A local cache is represented by the CacheOptions object and can be accessed via the MapControl.CacheOptions property.

To customize the local cache, specify the directory (CacheOptions.Directory) and the time interval after which the loaded map tiles should be updated (CacheOptions.KeepInterval).

Example

This example illustrates what actions should be executed to customize the local cache of a map control.

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

To enable the map cache, it is necessary to assign the MapControl.CacheOptions property to the CacheOptions object and specify the directory to which the loaded map tiles will be saved using the CacheOptions.Directory property. It is also necessary to specify the time interval after which map tile images will be updated from a map data provider via the CacheOptions.KeepInterval property.

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

<Window x:Class="MapCacheOptions.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map"
        Title="MainWindow" Height="350" Width="525" >
    <Grid>
        <dxm:MapControl>
            <dxm:MapControl.CacheOptions>
                <dxm:CacheOptions Directory="C://MapTiles" KeepInterval="01:00:00"/>
            </dxm:MapControl.CacheOptions>
            <dxm:ImageTilesLayer >
                <dxm:ImageTilesLayer.DataProvider>
                    <dxm:OpenStreetMapDataProvider Kind="Road" />
                </dxm:ImageTilesLayer.DataProvider>
            </dxm:ImageTilesLayer>
        </dxm:MapControl>
    </Grid>
</Window>
See Also