VectorTileDataProviderBase.StyleFileUri Property
SECURITY NOTE
Downloading files passed through URLs specified by the Suppress Control Requests to Download Data from External URLsStyleFileUri
property may create security issues. Review the following help topic and learn how to spot, analyze, and prohibit unwanted download requests:
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
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);
}