Skip to main content

VectorTileDataProviderBase.StyleFileUri Property

SECURITY NOTE

Downloading files passed through URLs specified by the StyleFileUri property may create security issues. Review the following help topic and learn how to spot, analyze, and prohibit unwanted download requests:

Suppress Control Requests to Download Data from External URLs

Gets or sets a style used to customize the vector tile map’s appearance.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.1.dll

NuGet Package: DevExpress.Win.Map

Declaration

[DefaultValue(null)]
public Uri StyleFileUri { get; set; }

Property Value

Type Default Description
Uri null

A Uri object that specifies the style file’s location.

Remarks

Use the StyleFileUri property to define a path to a style file. A style should be a valid JSON file and meet specifications.

The Map Control supports layers and the following related properties:

  • filter
  • paint
    • fill-color
    • fill-opacity
    • line-color
    • line-opacity
    • line-width
    • text-color
  • layout
    • visibility
    • text-field
    • text-font
    • text-max-width
    • text-size
    • text-transform

Property values can be set directly (for example, “text-size”: 10) or via an interpolation syntax (for example, “line-width”: {“base”: 1.2, “stops”: [[15, 1], [17, 4]]}).

The following color formats are supported: hsl, rgb, rgba, hsla, hex. You can use web color names, such as red or yellow.

Note: Install the Newtonsoft.Json package if your .NET Framework application does not reference this library. For .NET 6+ platforms, System.Text.Json is used. Set the DevExpress.Map.Native.VectorTileStyleParser.ProcessingLibrary property to NewtonsoftJson to use the Newtonsoft.Json library instead.

Example

The following example shows how use the MbTilesDataProvider to load vector tiles from an MbTiles file:

private void Form1_Load(object sender, EventArgs e) {
    ImageLayer layer = new ImageLayer();
    MbTilesDataProvider dataProvider = new MbTilesDataProvider();
    dataProvider.FileUri = new Uri(@"D:\countries.mbtiles", UriKind.Absolute);
    dataProvider.StyleFileUri = new Uri(@"D:\style.json", UriKind.Absolute);
    layer.DataProvider = dataProvider;
    mapControl1.Layers.Add(layer);
}            
See Also