In order to display the best view of a Direction, the following code should work:

Set MPC.ActiveMap.Location = MPC.ActiveMap.ActiveRoute.Directions(n).Location

But, any time Directions(n) is a route segment past the first intermediate waypoint, you don't get the best view of Directions(n). Instead, you get the best view of some other Direction.

If this bug were not present, you could let users choose route segments by clicking on the map:

1) Find the location that the user clicked by using the X, Y values of the mouse up event,

2) Use the DistanceTo function to find the route segment closest to the location clicked on.

But when the location of a direction is incorrect,

objMap.XYToLocation(X,Y).DistanceTo(objRoute.Direc tions(n).Location)

does not yield the correct distance from a mouse click to a route segment: and, as a result, the following code does not highlight the chosen route segment: