Occurs when a data provider starts generating map items for a layer.
public event LayerItemsGeneratingEventHandler LayerItemsGenerating
Public Event LayerItemsGenerating As LayerItemsGeneratingEventHandler
The LayerItemsGenerating event's data class is LayerItemsGeneratingEventArgs. The following properties provide information specific to this event:
|Cancelled||Gets a value indicating whether an asynchronous operation has been canceled. Inherited from AsyncCompletedEventArgs.|
|Error||Gets a value indicating which error occurred during an asynchronous operation. Inherited from AsyncCompletedEventArgs.|
|Items||Returns all the items generated for the layer.|
|UserState||Gets the unique identifier for the asynchronous task. Inherited from AsyncCompletedEventArgs.|
The event data class exposes the following methods:
|RaiseExceptionIfNecessary()||Raises a user-supplied exception if an asynchronous operation failed. Inherited from AsyncCompletedEventArgs.|
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 that map pushpins for waypoints are generated automatically and the LayerItemsGenerating event occurs because the InformationDataProviderBase.GenerateLayerItems property value is true by default.
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