private async void CinemaListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { MyMap.Routes.Clear(); ListView Lis = sender as ListView; CinemaRecommendViewModel _poi = Lis.DataContext as CinemaRecommendViewModel; if (Lis.SelectedIndex == -1) { return; } Pois poi = _poi.poiresult[Lis.SelectedIndex] as Pois; string[] arr = poi.location.Split(','); BasicGeoposition startLocation = new BasicGeoposition() { Latitude = myLocation.Position.Latitude, Longitude = myLocation.Position.Longitude }; BasicGeoposition endLocation = new BasicGeoposition() { Latitude = Convert.ToDouble(arr[1]), Longitude = Convert.ToDouble(arr[0]) }; MapRouteFinderResult routeResult = await MapRouteFinder.GetDrivingRouteAsync(new Geopoint(startLocation), new Geopoint(endLocation), MapRouteOptimization.Time, MapRouteRestrictions.None); if (routeResult.Status == MapRouteFinderStatus.Success) { MapRouteView viewOfRoute = new MapRouteView(routeResult.Route); viewOfRoute.RouteColor = Colors.Yellow; viewOfRoute.OutlineColor = Colors.Black; MyMap.Routes.Add(viewOfRoute); await MyMap.TrySetViewBoundsAsync( routeResult.Route.BoundingBox, null, MapAnimationKind.None); } }
public CinemaRecommed() { this.InitializeComponent(); viewmodel = new CinemaRecommendViewModel(); this.DataContext = viewmodel; }