Skip to main content
A newer version of this page is available. .

BingElevationDataProvider Class

Provides the capability to obtain the elevation data from the Bing Maps service.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v20.1.dll

NuGet Package: DevExpress.Win.Map

Declaration

public class BingElevationDataProvider :
    BingMapDataProviderBase,
    IMouseClickRequestSender

Example

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;
        }
    }
}
See Also