This example demonstrates how to receive information from a Web Map Service using the WmsDataProvider.ResponseCapabilities event handler.
To do this, use the CapabilitiesResponsedEventArgs arguments of the event to specify a WMS active layer and obtain the required information.
Form1.cs |
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) {
Provider.ResponseCapabilities += OnResponseCapabalities;
}
void OnResponseCapabalities(object sender, CapabilitiesResponsedEventArgs e) {
Provider.ActiveLayerName = e.Layers[0].Name;
label1.Text = string.Format("Layer name: {0}, Layer title: {1}", e.Layers[0].Name, e.Layers[0].Title);
}
}
}
|
Form1.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 CapabilitiesResponsedEventArgs)
' 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
|