private static void OnRouteResultChanged(Map map, BingRouteService.RouteResult oldValue, BingRouteService.RouteResult newValue) { MapPolyline routeLine = new MapPolyline(); routeLine.Locations = new LocationCollection(); routeLine.Opacity = 0.80; routeLine.Stroke = new SolidColorBrush(Colors.Magenta); routeLine.StrokeThickness = 5.0; foreach (BingRouteService.Location l in newValue.RoutePath.Points) { routeLine.Locations.Add(new Location(l.Latitude, l.Longitude)); } var routeLineLayer = GetRouteLineLayer(map); if (routeLineLayer == null) { routeLineLayer = new MapLayer(); SetRouteLineLayer(map, routeLineLayer); } routeLineLayer.Children.Clear(); routeLineLayer.Children.Add(routeLine); LocationRect rect = new LocationRect(routeLine.Locations[0], routeLine.Locations[routeLine.Locations.Count - 1]); map.SetView(rect); }
public static void SetRouteResult(DependencyObject target, BingRouteService.RouteResult value) { target.SetValue(RouteResultProperty, value); }