BingRouteIsochroneOptions Class
Stores the options that are used to calculate an isochrone.
Namespace: DevExpress.XtraMap
Assembly: DevExpress.XtraMap.v24.1.dll
NuGet Package: DevExpress.Win.Map
Declaration
Related API Members
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):
Create an InformationLayer object and add it to the MapControl.Layers collection.
Initialize the layer’s InformationLayer.DataProvider property with a BingRouteIsochroneDataProvider object.
Specify the adapter’s BingKey property.
Call the CalculateIsochroneByTime method to calculate an 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();
}
}
}