BingRouteDataProvider Class
The class that is used to send requests to the Bing Maps Route service.
Namespace: DevExpress.Xpf.Map
Assembly: DevExpress.Xpf.Map.v20.2.dll
NuGet Packages: DevExpress.WindowsDesktop.Wpf.Map, DevExpress.Wpf.Map
Declaration
Remarks
The Bing Route Data provider is represented by the BingRouteDataProvider
object that can be accessed via the InformationLayer.DataProvider property.
To get access to the Bing Route service, you should specify the bing key using the BingMapDataProviderBase.BingKey property.
To learn how this can be done, see the How to: Get a Bing Maps Key topic.
To get access to the route options of the Bing Route Data provider, use the BingRouteDataProvider.RouteOptions property.
Example
This example demonstrates how to calculate a route between several waypoints and change the appearance of a route path using the Microsoft Bing Route web service. To accomplish this, do the following.
- Create an InformationLayer object and add it to the MapControl.Layers collection.
- Create a
BingRouteDataProvider
object and assign it to the InformationLayer.DataProvider property. To calculate a route, call the BingRouteDataProvider.CalculateRoute method and pass a list of waypoints as its argument.
Note
The BingRouteDataProvider.CalculateRoute method calculates the route based on less than 265 RouteWaypoint objects.
To customize the route path appearance, handle the InformationDataProviderBase.LayerItemsGenerating event and modify the MapPushpin.Text property of each MapPushpin.
Note that map pushpins for waypoints are generated automatically and the LayerItemsGenerating event occurs because the InformationDataProviderBase.GenerateLayerItems property value is true by default.
Note
If you run the application, and see a window with the following error message: ”The specified Bing Maps key is invalid. To create a developer account, refer to https://www.microsoft.com/en-us/maps/create-a-bing-maps-key”, refer to the following tutorial: How to: Get a Bing Maps Key.
Public Sub New()
InitializeComponent()
' Create three waypoints and add them to a route waypoints list.
Dim waypoints As New List(Of RouteWaypoint)()
waypoints.Add(New RouteWaypoint("New York", New GeoPoint(41.145556, -73.995)))
waypoints.Add(New RouteWaypoint("Oklahoma", New GeoPoint(36.131389, -95.937222)))
waypoints.Add(New RouteWaypoint("Las Vegas", New GeoPoint(36.175, -115.136389)))
routeProvider.CalculateRoute(waypoints)
End Sub
Private Sub routeProvider_LayerItemsGenerating(ByVal sender As Object, ByVal args As LayerItemsGeneratingEventArgs)
Dim letter As Char = "A"c
For Each item As MapItem In args.Items
Dim pushpin As MapPushpin = TryCast(item, MapPushpin)
If pushpin IsNot Nothing Then
pushpin.Text = letter.ToString()
letter = ChrW(AscW(letter) + 1)
End If
Next item
End Sub
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the BingRouteDataProvider class.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.