Skip to main content
All docs
V24.2

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

BingRouteIsochroneOptions Class

Stores the options that are used to calculate an isochrone.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v24.2.dll

NuGet Package: DevExpress.Win.Map

#Declaration

public class BingRouteIsochroneOptions :
    MapNotificationOptions

The following members return BingRouteIsochroneOptions objects:

#Remarks

You can specify the following options for distance-based isochrones (refer to CalculateIsochroneByDistance for more information):

You can specify the following options for time-based isochrones (refer to CalculateIsochroneByTime and CalculateIsochroneByTimeWithTraffic for more information):

#Example

The following code plots a polygon that shows the area that is accessible from the specified point. The size of the area depends on a given travel time (10 minutes in the example below):

Time-based isochrone

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

namespace IsochroneSample {
    public partial class Form1 : Form {

        private void Form1_Load(object sender, EventArgs e) {
            ImageLayer imageLayer = new ImageLayer();
            mapControl1.Layers.Add(imageLayer);
            BingMapDataProvider provider = new BingMapDataProvider();
            provider.BingKey = "Insert your Bing key.";
            provider.Kind = BingMapKind.RoadLight;
            imageLayer.DataProvider = provider;

            InformationLayer infoLayer = new InformationLayer();
            mapControl1.Layers.Add(infoLayer);

            BingRouteIsochroneDataProvider isochroneDataProvider = new BingRouteIsochroneDataProvider();
            isochroneDataProvider.BingKey = "Insert your Bing key.";
            GeoPoint origin = new GeoPoint(36.1532403246368, -86.7701703811725);
            mapControl1.CenterPoint = origin;
            isochroneDataProvider.IsochroneOptions.TimeUnit = TimeMeasureUnit.Minute;
            isochroneDataProvider.IsochroneOptions.Mode = BingTravelMode.Driving;
            isochroneDataProvider.CalculateIsochroneByTime(new RouteWaypoint("", origin), 10);
            infoLayer.DataProvider = isochroneDataProvider;

            infoLayer.DataRequestCompleted += OnDataRequestCompleted;
        }

        private void OnDataRequestCompleted(object sender, RequestCompletedEventArgs e) {
            // Call the ZoomToFitLayerItems method to zoom the map so that it displays the created isochrone.
            mapControl1.ZoomToFitLayerItems();
        }
    }
}
See Also