Back to Devexpress

BingRouteIsochroneOptions.DistanceUnit Property

windowsforms-devexpress-dot-xtramap-dot-bingrouteisochroneoptions-0a6d1353.md

latest6.4 KB
Original Source

BingRouteIsochroneOptions.DistanceUnit Property

Gets or sets the distance measurement unit for which an isochrone is calculated.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
[DefaultValue(DistanceMeasureUnit.Kilometer)]
public DistanceMeasureUnit DistanceUnit { get; set; }
vb
<DefaultValue(DistanceMeasureUnit.Kilometer)>
Public Property DistanceUnit As DistanceMeasureUnit

Property Value

TypeDefaultDescription
DistanceMeasureUnitKilometer

The distance measurement unit.

|

Available values:

NameDescription
Kilometer

All distances are measured in kilometers.

| | Mile |

All distances are measured in miles.

|

Property Paths

You can access this nested property as listed below:

Object TypePath to DistanceUnit
BingRouteIsochroneDataProvider

.IsochroneOptions .DistanceUnit

|

Remarks

Specify the DistanceUnit property to set the measurement unit for the distance that you pass to the BingRouteIsochroneDataProvider.CalculateIsochroneByDistance 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 distance (the distance is equal to 10 miles 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 DistanceUnit parameters.

  • Call the BingRouteIsochroneDataProvider.CalculateIsochroneByDistance method to calculate an isochrone.

  • C#

  • VB.NET

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

namespace IsochroneSample {
    public partial class Form1 : Form {

        private void Form1_Load(object sender, EventArgs e) {
            // Create a background image layer.
            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.DistanceUnit = DistanceMeasureUnit.Mile;
            isochroneDataProvider.IsochroneOptions.Mode = BingTravelMode.Driving;
            isochroneDataProvider.CalculateIsochroneByDistance(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();
        }
    }
}
vb
Imports DevExpress.XtraMap
Imports System
Imports System.Windows.Forms

Namespace IsochroneSample
    Public Partial Class Form1
        Inherits Form

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
            ' Create a background image layer.
            Dim imageLayer As ImageLayer = New ImageLayer()
            mapControl1.Layers.Add(imageLayer)
            Dim provider As BingMapDataProvider = New BingMapDataProvider()
            provider.BingKey = "Insert your Bing key."
            provider.Kind = BingMapKind.RoadLight
            imageLayer.DataProvider = provider

            Dim infoLayer As InformationLayer = New InformationLayer()
            mapControl1.Layers.Add(infoLayer)
            Dim isochroneDataProvider As BingRouteIsochroneDataProvider = New BingRouteIsochroneDataProvider()
            isochroneDataProvider.BingKey = "Insert your Bing key."
            Dim origin As GeoPoint = New GeoPoint(36.1532403246368, -86.7701703811725)
            mapControl1.CenterPoint = origin
            isochroneDataProvider.IsochroneOptions.DistanceUnit = DistanceMeasureUnit.Mile
            isochroneDataProvider.IsochroneOptions.Mode = BingTravelMode.Driving
            isochroneDataProvider.CalculateIsochroneByDistance(New RouteWaypoint("", origin), 10)
            infoLayer.DataProvider = isochroneDataProvider

            infoLayer.DataRequestCompleted += AddressOf OnDataRequestCompleted
        End Sub

        Private Sub OnDataRequestCompleted(ByVal sender As Object, ByVal e As RequestCompletedEventArgs)
            ' Call the ZoomToFitLayerItems method to zoom the map so that it displays the created isochrone.
            mapControl1.ZoomToFitLayerItems()
        End Sub
    End Class
End Namespace

See Also

Migrate from Bing Maps to Azure Maps Providers

BingRouteIsochroneOptions Class

BingRouteIsochroneOptions Members

DevExpress.XtraMap Namespace