BingRouteIsochroneOptions.TimeUnit Property
Gets or sets the measurement unit of time that is used to calculate an isochrone.
Namespace: DevExpress.XtraMap
Assembly: DevExpress.XtraMap.v24.1.dll
NuGet Package: DevExpress.Win.Map
Declaration
Property Value
Type | Default | Description |
---|---|---|
TimeMeasureUnit | Second | The time measurement unit. |
Available values:
Name | Description |
---|---|
Second | Time is measured in seconds. |
Minute | Time is measured in minutes. |
Property Paths
You can access this nested property as listed below:
Object Type | Path to TimeUnit |
---|---|
BingRouteIsochroneDataProvider |
|
Remarks
Specify the TimeUnit property to set the measurement unit for the distance that you pass to the CalculateIsochroneByTime and CalculateIsochroneByTimeWithTraffic method parameters.
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.
Optional. Define the Mode and
TimeUnit
parameters.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();
}
}
}