Back to Devexpress

ImageLayer.DataProvider Property

windowsforms-devexpress-dot-xtramap-dot-imagelayer.md

latest8.7 KB
Original Source

ImageLayer.DataProvider Property

Gets or sets the provider used to obtain images from an external source.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
[DefaultValue(null)]
public MapImageDataProviderBase DataProvider { get; set; }
vb
<DefaultValue(Nothing)>
Public Property DataProvider As MapImageDataProviderBase

Property Value

TypeDefaultDescription
MapImageDataProviderBasenull

A MapImageDataProviderBase object.

|

Example

This example demonstrates how to receive information from a Web Map Service using the WmsDataProvider.ResponseCapabilities event handler.

To do this, use the CapabilitiesRespondedEventArgs arguments of the event to specify a WMS active layer and obtain the required information.

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

namespace ResponseCapabilitiesHandler {
    public partial class Form1 : Form {
        ImageLayer WmsLayer {
            get { return (ImageLayer)mapControl.Layers["WmsImageLayer"]; }
        }
        WmsDataProvider Provider {
            get { return WmsLayer.DataProvider as WmsDataProvider; }
        }
        public Form1() {
            InitializeComponent();
        }
        private void Form1_Load(object sender, System.EventArgs e) {
            // Handle the ResponseCapabilities event.
            Provider.ResponseCapabilities += OnResponseCapabalities;
        }
        void OnResponseCapabalities(object sender, CapabilitiesRespondedEventArgs e) {
            // Specify an active layer for the map control.
            Provider.ActiveLayerName = e.Layers[0].Name;
            // Recieve information on the active layer.
            label1.Text = string.Format("Layer name: {0}, Layer title: {1}", e.Layers[0].Name, e.Layers[0].Title);           
        }
    }
}
vb
Imports DevExpress.XtraMap
Imports System.Windows.Forms

Namespace ResponseCapabilitiesHandler
    Partial Public Class Form1
        Inherits Form

        Private ReadOnly Property WmsLayer() As ImageLayer
            Get
                Return CType(mapControl.Layers("WmsImageLayer"), ImageLayer)
            End Get
        End Property
        Private ReadOnly Property Provider() As WmsDataProvider
            Get
                Return TryCast(WmsLayer.DataProvider, WmsDataProvider)
            End Get
        End Property
        Public Sub New()
            InitializeComponent()
        End Sub
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' Handle the ResponseCapabilities event.
            AddHandler Provider.ResponseCapabilities, AddressOf OnResponseCapabalities
        End Sub
        Private Sub OnResponseCapabalities(ByVal sender As Object, ByVal e As CapabilitiesRespondedEventArgs)
            ' Specify an active layer for the map control.
            Provider.ActiveLayerName = e.Layers(0).Name
            ' Recieve information on the active layer.
            label1.Text = String.Format("Layer name: {0}, Layer title: {1}", e.Layers(0).Name, e.Layers(0).Title)
        End Sub
    End Class
End Namespace

The following code snippets (auto-collected from DevExpress Examples) contain references to the DataProvider 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.

winforms-dashboard-custom-items-extension/CS/CustomItemExtension/CustomItems/WaypointMap/WaypointMapItemControlProvider.cs#L45

csharp
map.Layers.Add(vectorLayer);
imageLayer.DataProvider = new AzureMapDataProvider() { AzureKey = azureKey };
labels.DataProvider = new AzureMapDataProvider() { AzureKey = azureKey, Tileset = AzureTileset.BaseLabelsRoad};

winforms-map-show-callouts/CS/Form1.cs#L21

csharp
ImageLayer tileLayer = new ImageLayer();
tileLayer.DataProvider = new AzureMapDataProvider() { AzureKey = "Your Bing key here." };
map.Layers.Add(tileLayer);

winforms-map-execute-the-search-operation-for-multiple-locations/CS/GetSearchLocationAdditionalInfo/Form1.cs#L125

csharp
BingMapDataProvider bingProvider = new BingMapDataProvider();
tilesLayer.DataProvider = bingProvider;
bingProvider.BingKey = yourBingKey;

winforms-map-connect-to-openstreetmap/CS/ConnectToOpenStreet/Form1.cs#L29

csharp
OpenStreetMapDataProvider provider = new OpenStreetMapDataProvider();
tileLayer.DataProvider = provider;

winforms-map-load-image-tiles-from-custom-source/CS/CustomProvider/Form1.cs#L24

csharp
map.Layers.Add(imageTilesLayer);
imageTilesLayer.DataProvider = new LocalProvider();

winforms-dashboard-custom-items-extension/VB/CustomItemExtension/CustomItems/WaypointMap/WaypointMapItemControlProvider.vb#L55

vb
map.Layers.Add(vectorLayer)
imageLayer.DataProvider = New AzureMapDataProvider() With {.AzureKey = azureKey}
labels.DataProvider = New AzureMapDataProvider() With {

map-for-winforms-azure-routing/VB/Form1.vb#L21

vb
Dim imageLayer As New ImageLayer()
imageLayer.DataProvider = New AzureMapDataProvider() With {
.AzureKey = azureKey,

winforms-map-show-callouts/VB/Form1.vb#L20

vb
Dim tileLayer As ImageLayer = New ImageLayer()
tileLayer.DataProvider = New AzureMapDataProvider() With {.AzureKey = "Your Bing key here."}
map.Layers.Add(tileLayer)

winforms-map-execute-the-search-operation-for-multiple-locations/VB/GetSearchLocationAdditionalInfo/Form1.vb#L109

vb
Dim bingProvider As BingMapDataProvider = New BingMapDataProvider()
tilesLayer.DataProvider = bingProvider
bingProvider.BingKey = yourBingKey

winforms-map-connect-to-openstreetmap/VB/ConnectToOpenStreet/Form1.vb#L28

vb
Dim provider As OpenStreetMapDataProvider = New OpenStreetMapDataProvider()
tileLayer.DataProvider = provider
' Specify a template that is used to obtain image tiles.

See Also

ImageLayer Class

ImageLayer Members

DevExpress.XtraMap Namespace