Skip to main content
All docs
V22.1

BingRouteIsochroneOptions Class

Stores the options that are used to calculate an isochrone.

Namespace: DevExpress.XtraMap

Assembly: DevExpress.XtraMap.v22.1.dll

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