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

RouteIsochroneCalculationResult.IsochroneResult Property

Returns isochrone calculation results as isochrone polygon points.

Namespace: DevExpress.Xpf.Map

Assembly: DevExpress.Xpf.Map.v24.2.dll

NuGet Package: DevExpress.Wpf.Map

#Declaration

public BingRouteIsochroneResult IsochroneResult { get; }

#Property Value

Type Description
BingRouteIsochroneResult

An object that stores isochrone calculation results.

#Remarks

The following code plots a polygon that shows an area accessible from the specified point:

An isochrone map

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:IsochroneMap"
        xmlns:dxm="http://schemas.devexpress.com/winfx/2008/xaml/map" 
        x:Class="IsochroneMap.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
    <Grid>
        <dxm:MapControl x:Name="mapControl">
            <dxm:ImageLayer>
                <dxm:BingMapDataProvider BingKey="Insert your Bing key." 
                                            Kind="RoadLight" />
            </dxm:ImageLayer>
            <dxm:InformationLayer x:Name="infoLayer">
                <dxm:BingRouteIsochroneDataProvider x:Name="isochroneProvider" 
                                                    BingKey="Insert your Bing key."
                                                    GenerateLayerItems="False"
                                                    IsochroneCalculated="OnIsochroneCalculated">
                    <dxm:BingRouteIsochroneDataProvider.IsochroneOptions>
                        <dxm:BingRouteIsochroneOptions Mode="Driving" 
                                                    DistanceUnit="Kilometer"/>
                    </dxm:BingRouteIsochroneDataProvider.IsochroneOptions>
                </dxm:BingRouteIsochroneDataProvider>
            </dxm:InformationLayer>
        </dxm:MapControl>
    </Grid>
</Window>
using DevExpress.Xpf.Map;
using System.Windows;
using System.Windows.Media;

namespace IsochroneMap {
    public partial class MainWindow : Window {
        public MainWindow() {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e) {
            GeoPoint origin = new GeoPoint(42.3589935302734, -71.0586318969727);
            isochroneProvider.CalculateIsochroneByDistance(new RouteWaypoint("Origin", origin), 10);
        }

        private void OnIsochroneCalculated(object sender, BingRouteIsochroneCalculatedEventArgs e) {
            foreach (var polygon in e.CalculationResult.IsochroneResult.Polygons) {
                MapPolyline item = new MapPolyline();
                foreach (var points in polygon.Coordinates)
                    item.Points.Add(points);
                item.StrokeStyle = new StrokeStyle { Thickness = 4 };
                item.Stroke = Brushes.Red;

                MapPushpin pushpin = new MapPushpin { Location = e.CalculationResult.IsochroneResult.Origin, Brush = Brushes.Red };

                VectorLayer vectorLayer = new VectorLayer();
                mapControl.Layers.Add(vectorLayer);
                MapItemStorage storage = new MapItemStorage();
                vectorLayer.Data = storage;
                storage.Items.Add(item);
                storage.Items.Add(pushpin);
            }
            mapControl.ZoomToFitLayerItems();
        }
    }
}
See Also