Back to Devexpress

BingRouteLeg Class

wpf-devexpress-dot-xpf-dot-map-8971a458.md

latest7.4 KB
Original Source

BingRouteLeg Class

OBSOLETE

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

Contains information about a single leg of a route.

Namespace : DevExpress.Xpf.Map

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

NuGet Package : DevExpress.Wpf.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-wpf")]
[PreferableMember("BingRouteLeg", "", "")]
public class BingRouteLeg
vb
<Obsolete("This class is obsolete. Microsoft deprecated Bing Maps on June 30th, 2025. For alternative providers, see https://www.devexpress.com/bing-maps-wpf")>
<PreferableMember("BingRouteLeg", "", "")>
Public Class BingRouteLeg

Example

csharp
private void routeDataProvider_RouteCalculated(object sender, BingRouteCalculatedEventArgs e) {
    RouteCalculationResult result = e.CalculationResult;

    StringBuilder resultList = new StringBuilder();
    resultList.Append(String.Format("Status: {0}\n", result.ResultCode));
    resultList.Append(String.Format("Fault reason: {0}\n", result.FaultReason));
    resultList.Append(ProcessIntermediatePoints(result.IntermediatePoints));
    resultList.Append(ProcessRouteResults(result.RouteResults));

    tbResults.Text = resultList.ToString();
}
string ProcessIntermediatePoints(List<RouteWaypoint> points) {
    if (points == null) return "";

    StringBuilder sb = new StringBuilder("Intermediate Points:\n"); 
    sb.Append(String.Format(" _________________________ \n"));
    for (int i = 0; i < points.Count; ++i)
            sb.Append(String.Format(
                "Intermediate point {0}: {1} ({2})\n", 
                i+1,
                points[i].Description, 
                points[i].Location
            ));
    return sb.ToString();
}
string ProcessRouteResults(List<BingRouteResult> results) {
    if (results == null) return "";

    StringBuilder sb = new StringBuilder("RouteResults:\n");
    for (int i = 0; i < results.Count; i++) {
        sb.Append(String.Format(" _________________________ \n"));
        sb.Append(String.Format("Path {0}:\n", i+1));
        sb.Append(String.Format("Distance: {0}\n", results[i].Distance));
        sb.Append(String.Format("Time: {0}\n", results[i].Time));
        sb.Append(ProcessLegs(results[i].Legs));
    }
    return sb.ToString();
}
string ProcessLegs(List<BingRouteLeg> legs) {
    if (legs == null) return "";

    StringBuilder sb = new StringBuilder("Legs:\n");    
    for (int i = 0; i < legs.Count; i++) {
        sb.Append(String.Format("\tLeg {0}:\n", i+1));
        sb.Append(String.Format("\tStart: {0}\n", legs[i].StartPoint));
        sb.Append(String.Format("\tEnd: {0}\n", legs[i].EndPoint));
        sb.Append(String.Format("\tDistance: {0}\n", legs[i].Distance));
        sb.Append(String.Format("\tTime: {0}\n", legs[i].Time));
        sb.Append(ProcessItinerary(legs[i].Itinerary));
    }
    return sb.ToString();
}
string ProcessWarnings(List<BingItineraryItemWarning> warnings) {
    if (warnings == null) return "";

    StringBuilder sb = new StringBuilder("\t\tWarnings:\n");
    for (int i = 0; i < warnings.Count; i++) {
        sb.Append(String.Format("\t\t\tWarning {0}:\n", i + 1));
        sb.Append(String.Format("\t\t\tType: {0}\n", warnings[i].Type));
        sb.Append(String.Format("\t\t\tText: {0}\n", warnings[i].Text));

    }
    return sb.ToString();
}
vb
Private Sub routeDataProvider_RouteCalculated(ByVal sender As Object, ByVal e As BingRouteCalculatedEventArgs)
    Dim result As RouteCalculationResult = e.CalculationResult

    Dim resultList As New StringBuilder()
    resultList.Append(String.Format("Status: {0}" & ControlChars.Lf, result.ResultCode))
    resultList.Append(String.Format("Fault reason: {0}" & ControlChars.Lf, result.FaultReason))
    resultList.Append(ProcessIntermediatePoints(result.IntermediatePoints))
    resultList.Append(ProcessRouteResults(result.RouteResults))

    tbResults.Text = resultList.ToString()
End Sub
Private Function ProcessIntermediatePoints(ByVal points As List(Of RouteWaypoint)) As String
    If points Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder("Intermediate Points:" & ControlChars.Lf)
    sb.Append(String.Format(" _________________________" & ControlChars.Lf))
    For i As Integer = 0 To points.Count - 1
            sb.Append(String.Format("Intermediate point {0}: {1} ({2})" & ControlChars.Lf, i+1, points(i).Description, points(i).Location))
    Next i
    Return sb.ToString()
End Function
Private Function ProcessRouteResults(ByVal results As List(Of BingRouteResult)) As String
    If results Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder("RouteResults:" & ControlChars.Lf)
    For i As Integer = 0 To results.Count - 1
        sb.Append(String.Format(" _________________________" & ControlChars.Lf))
        sb.Append(String.Format("Path {0}:" & ControlChars.Lf, i+1))
        sb.Append(String.Format("Distance: {0}" & ControlChars.Lf, results(i).Distance))
        sb.Append(String.Format("Time: {0}" & ControlChars.Lf, results(i).Time))
        sb.Append(ProcessLegs(results(i).Legs))
    Next i
    Return sb.ToString()
End Function
Private Function ProcessLegs(ByVal legs As List(Of BingRouteLeg)) As String
    If legs Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder("Legs:" & ControlChars.Lf)
    For i As Integer = 0 To legs.Count - 1
        sb.Append(String.Format(ControlChars.Tab & "Leg {0}:" & ControlChars.Lf, i+1))
        sb.Append(String.Format(ControlChars.Tab & "Start: {0}" & ControlChars.Lf, legs(i).StartPoint))
        sb.Append(String.Format(ControlChars.Tab & "End: {0}" & ControlChars.Lf, legs(i).EndPoint))
        sb.Append(String.Format(ControlChars.Tab & "Distance: {0}" & ControlChars.Lf, legs(i).Distance))
        sb.Append(String.Format(ControlChars.Tab & "Time: {0}" & ControlChars.Lf, legs(i).Time))
        sb.Append(ProcessItinerary(legs(i).Itinerary))
    Next i
    Return sb.ToString()
End Function
Private Function ProcessWarnings(ByVal warnings As List(Of BingItineraryItemWarning)) As String
    If warnings Is Nothing Then
        Return ""
    End If

    Dim sb As New StringBuilder(ControlChars.Tab & ControlChars.Tab & "Warnings:" & ControlChars.Lf)
    For i As Integer = 0 To warnings.Count - 1
        sb.Append(String.Format(ControlChars.Tab & ControlChars.Tab & ControlChars.Tab & "Warning {0}:" & ControlChars.Lf, i + 1))
        sb.Append(String.Format(ControlChars.Tab & ControlChars.Tab & ControlChars.Tab & "Type: {0}" & ControlChars.Lf, warnings(i).Type))
        sb.Append(String.Format(ControlChars.Tab & ControlChars.Tab & ControlChars.Tab & "Text: {0}" & ControlChars.Lf, warnings(i).Text))

    Next i
    Return sb.ToString()
End Function

Inheritance

Object BingRouteLeg

See Also

BingRouteLeg Members

DevExpress.Xpf.Map Namespace