Back to Devexpress

RouteCalculationResult Class

windowsforms-devexpress-dot-xtramap-c1a06f51.md

latest7.0 KB
Original Source

RouteCalculationResult Class

OBSOLETE

This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms

Contains results of a request to a web service for route calculation.

Namespace : DevExpress.XtraMap

Assembly : DevExpress.XtraMap.v25.2.dll

NuGet Package : DevExpress.Win.Map

Declaration

csharp
[Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms")]
[PreferableMember("RouteCalculationResult", "", "")]
public class RouteCalculationResult :
    RequestResultBase
vb
<Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-winforms")>
<PreferableMember("RouteCalculationResult", "", "")>
Public Class RouteCalculationResult
    Inherits RequestResultBase

The following members return RouteCalculationResult objects:

Example

csharp
private void OnRouteCalculated(object sender, BingRouteCalculatedEventArgs e) {
    RouteCalculationResult result = e.CalculationResult;
    if((result.RouteResults == null) ||
        (result.ResultCode == RequestResultCode.BadRequest)) {
        rtbResults.Text = "The Bing Route service does not work for this location.";
        return;
    }

    StringBuilder resultList = new StringBuilder("");

    if(result.IntermediatePoints != null) {
        resultList.Append(String.Format(" _________________________ \n"));

        for(int i = 0; i < e.CalculationResult.IntermediatePoints.Count; i++)
            resultList.Append(
                String.Format("Starting point {0}: {1} ({2})\n",
                i + 1,
                e.CalculationResult.IntermediatePoints[i].Description,
                e.CalculationResult.IntermediatePoints[i].Location)
            );
    }

    if((result.RouteResults != null) & (result.ResultCode == RequestResultCode.Success)) {

        for(int rnum = 0; rnum < e.CalculationResult.RouteResults.Count; rnum++) {
            resultList.Append(String.Format(" _________________________ \n"));
            resultList.Append(String.Format("Path {0}:\n", rnum + 1));
            resultList.Append(String.Format(
                "Distance: {0}\n",
                e.CalculationResult.RouteResults[rnum].Distance
            ));
            resultList.Append(String.Format(
                "Time: {0}\n",
                e.CalculationResult.RouteResults[0].Time
            ));

            if(e.CalculationResult.RouteResults[rnum].Legs != null) {
                int legNum = 1;
                foreach(BingRouteLeg leg in e.CalculationResult.RouteResults[rnum].Legs) {
                    resultList.Append(String.Format("\tLeg {0}:\n", legNum++));
                    resultList.Append(String.Format("\tDistance: {0}\n", leg.Distance));
                    resultList.Append(String.Format("\tTime: {0}\n", leg.Time));
                    if(leg.Itinerary != null) {
                        foreach(BingItineraryItem itineraryItem in leg.Itinerary) {
                            resultList.Append(String.Format(itineraryItem.Maneuver + "\n"));
                            resultList.Append(String.Format(
                                "\t\tLocation: {0}\n",
                                itineraryItem.Location
                            ));
                        }
                    }
                }
            }
        }
    }
    rtbResults.Text = resultList.ToString();
}
vb
Private Sub OnRouteCalculated(ByVal sender As Object, ByVal e As BingRouteCalculatedEventArgs)
    Dim result As RouteCalculationResult = e.CalculationResult
    If (result.RouteResults Is Nothing) OrElse (result.ResultCode = RequestResultCode.BadRequest) Then
        rtbResults.Text = "The Bing Route service does not work for this location."
        Return
    End If

    Dim resultList As New StringBuilder("")

    If result.IntermediatePoints IsNot Nothing Then
        resultList.Append(String.Format(" _________________________" & ControlChars.Lf))

        For i As Integer = 0 To e.CalculationResult.IntermediatePoints.Count - 1
            resultList.Append(String.Format("Starting point {0}: {1} ({2})" & ControlChars.Lf, i + 1, e.CalculationResult.IntermediatePoints(i).Description, e.CalculationResult.IntermediatePoints(i).Location))
        Next i
    End If

    If (result.RouteResults IsNot Nothing) And (result.ResultCode = RequestResultCode.Success) Then

        For rnum As Integer = 0 To e.CalculationResult.RouteResults.Count - 1
            resultList.Append(String.Format(" _________________________" & ControlChars.Lf))
            resultList.Append(String.Format("Path {0}:" & ControlChars.Lf, rnum + 1))
            resultList.Append(String.Format("Distance: {0}" & ControlChars.Lf, e.CalculationResult.RouteResults(rnum).Distance))
            resultList.Append(String.Format("Time: {0}" & ControlChars.Lf, e.CalculationResult.RouteResults(0).Time))

            If e.CalculationResult.RouteResults(rnum).Legs IsNot Nothing Then
                Dim legNum As Integer = 1
                For Each leg As BingRouteLeg In e.CalculationResult.RouteResults(rnum).Legs
                    resultList.Append(String.Format(ControlChars.Tab & "Leg {0}:" & ControlChars.Lf, legNum))
                    legNum += 1
                    resultList.Append(String.Format(ControlChars.Tab & "Distance: {0}" & ControlChars.Lf, leg.Distance))
                    resultList.Append(String.Format(ControlChars.Tab & "Time: {0}" & ControlChars.Lf, leg.Time))
                    If leg.Itinerary IsNot Nothing Then
                        For Each itineraryItem As BingItineraryItem In leg.Itinerary
                            resultList.Append(String.Format(itineraryItem.Maneuver & ControlChars.Lf))
                            resultList.Append(String.Format(ControlChars.Tab & ControlChars.Tab & "Location: {0}" & ControlChars.Lf, itineraryItem.Location))
                        Next itineraryItem
                    End If
                Next leg
            End If
        Next rnum
    End If
    rtbResults.Text = resultList.ToString()
End Sub

Inheritance

Object RequestResultBase RouteCalculationResult

See Also

RouteCalculationResult Members

DevExpress.XtraMap Namespace