Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

VectorTileDataProviderBase Class

The base class for vector tile data providers.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.2.dll

NuGet Package: DevExpress.Win.Map

#Declaration

public abstract class VectorTileDataProviderBase :
    ImageTileDataProvider,
    IVectorTileStreamProvider

#Remarks

Follow the steps below to implement a provider that loads tiles from a custom source.

  • Create a provider class that implements VectorTileDataProviderBase.
  • Implement the VectorTileDataProviderBase.GetStream method so that it returns a tile as a sequence of bytes for specific coordinates in the tile grid at the specified zoom level.
  • Assign the provider to the ImageLayer.DataProvider property.

    View Example

    using DevExpress.XtraMap;
    using System.IO;
    using System.Windows.Forms;
    
    namespace WinFormsMap {
        public partial class Form1 : Form {
            public Form1() {
                InitializeComponent();
                var layer = new ImageLayer();
                var provider = new CustomVectorTileStreamProvider();
    
                layer.DataProvider = provider;
                mapControl1.Layers.Add(layer);
            }
        }
        public class CustomVectorTileStreamProvider : VectorTileDataProviderBase {
            public override Stream GetStream(long x, long y, long level) {
                string path = Path.GetFullPath("..\\..\\Data\\test.data");
                return File.OpenRead(path);
            }
        }
    }
    
See Also