windowsforms-devexpress-dot-xtramap-ea22055d.md
This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms
A method that will handle the BingElevationDataProvider.ElevationsCalculated event.
Namespace : DevExpress.XtraMap
Assembly : DevExpress.XtraMap.v25.2.dll
NuGet Package : DevExpress.Win.Map
[Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms")]
[PreferableMember("ElevationsCalculatedEventHandler", "", "")]
public delegate void ElevationsCalculatedEventHandler(
object sender,
ElevationsCalculatedEventArgs e
);
<Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms")>
<PreferableMember("ElevationsCalculatedEventHandler", "", "")>
Public Delegate Sub ElevationsCalculatedEventHandler(
sender As Object,
e As ElevationsCalculatedEventArgs
)
| Name | Type | Description |
|---|---|---|
| sender | Object |
The event source.
| | e | ElevationsCalculatedEventArgs |
An ElevationsCalculatedEventArgs object that contains the event’s data.
|
When creating a ElevationsCalculatedEventHandler delegate, you identify the method that will handle the corresponding event. To associate an event with your event handler, add a delegate instance to this event. The event handler is called whenever the event occurs unless you remove the delegate. For more information about event handler delegates, see Events and Delegates in MSDN.
This example demonstrates how to receive elevation information from the Bing Maps service.
To do this, request elevation information using the BingElevationDataProvider.RequestPointsElevations method. Then, display the request result using the BingElevationDataProvider.ElevationsCalculated event handler.
using DevExpress.XtraMap;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace BingElevationData {
public partial class Form1 : Form {
InformationLayer layer { get { return (InformationLayer)mapControl.Layers[1]; } }
VectorItemsLayer vectorLayer { get { return (VectorItemsLayer)mapControl.Layers[2]; } }
BingElevationDataProvider provider { get { return (BingElevationDataProvider)layer.DataProvider; } }
public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
provider.ElevationsCalculated += OnElevationCalculated;
provider.GenerateLayerItems = false;
List<GeoPoint> locations = new List<GeoPoint> {
new GeoPoint(41.145556, -73.995),
new GeoPoint(36.131389, -95.937222),
new GeoPoint(36.175, -115.136389)
};
provider.RequestPointsElevations(locations);
}
void OnElevationCalculated(object sender, ElevationsCalculatedEventArgs e) {
MapItemStorage storage = new MapItemStorage();
foreach (ElevationInformation elevationInformation in e.Result.Locations) {
storage.Items.Add(new MapCallout() {
Text = string.Format("{0}\nElevation = {1} m", elevationInformation.Location, elevationInformation.Elevation),
Location = elevationInformation.Location
});
}
vectorLayer.Data = storage;
}
}
}
Imports DevExpress.XtraMap
Imports System
Imports System.Collections.Generic
Imports System.Windows.Forms
Namespace BingElevationData
Partial Public Class Form1
Inherits Form
Private ReadOnly Property layer() As InformationLayer
Get
Return CType(mapControl.Layers(1), InformationLayer)
End Get
End Property
Private ReadOnly Property vectorLayer() As VectorItemsLayer
Get
Return CType(mapControl.Layers(2), VectorItemsLayer)
End Get
End Property
Private ReadOnly Property provider() As BingElevationDataProvider
Get
Return CType(layer.DataProvider, BingElevationDataProvider)
End Get
End Property
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
AddHandler provider.ElevationsCalculated, AddressOf OnElevationCalculated
provider.GenerateLayerItems = False
Dim locations As New List(Of GeoPoint)() From { _
New GeoPoint(41.145556, -73.995), _
New GeoPoint(36.131389, -95.937222), _
New GeoPoint(36.175, -115.136389) _
}
provider.RequestPointsElevations(locations)
End Sub
Private Sub OnElevationCalculated(ByVal sender As Object, ByVal e As ElevationsCalculatedEventArgs)
Dim storage As New MapItemStorage()
For Each elevationInformation As ElevationInformation In e.Result.Locations
storage.Items.Add(New MapCallout() With {.Text = String.Format("{0}" & ControlChars.Lf & "Elevation = {1} m", elevationInformation.Location, elevationInformation.Elevation), .Location = elevationInformation.Location})
Next elevationInformation
vectorLayer.Data = storage
End Sub
End Class
End Namespace
See Also