private async void Window_Loaded(object sender, RoutedEventArgs e) { startActivity.Value = TimeSpan.Parse("00:00:01"); durationActivity.Value = TimeSpan.Parse("20:00:00"); speedUpDown.Value = 5; if (refActivityDTO != null) { SetHighwayFilter(); txPlatformName.Text = refActivityDTO.Atom.UnitName; txPlatformName.IsEnabled = false; pntSource = refActivityDTO.Atom.Location; txtSourceX.Text = Math.Round(pntSource.X, 4).ToString(); txtSourceY.Text = Math.Round(pntSource.Y, 4).ToString(); shPointId PointId = await clsRoadRoutingWebApi.GetNearestPointIdOnRoad("0", highwayFilter, pntSource.X, pntSource.Y); nodeSourceId = PointId.nodeId; if (refActivityDTO.RouteActivity.Points != null) { m_PolygonPnts = refActivityDTO.RouteActivity.Points.ToList <DPoint>(); txtRouteName.Text = refActivityDTO.RouteActivity.RouteName; txtRouteName.IsEnabled = false; pntTarget = refActivityDTO.RouteActivity.Points.Last(); txtTargetX.Text = Math.Round(pntTarget.X, 4).ToString(); txtTargetY.Text = Math.Round(pntTarget.Y, 4).ToString(); shPointId PointIdTarget = await clsRoadRoutingWebApi.GetNearestRoadNodeWithCondition("0", highwayFilter, pntTarget.X, pntTarget.Y, nodeSourceId, true); nodeTargetId = PointIdTarget.nodeId; } speedUpDown.Value = refActivityDTO.Speed; startActivity.Value = refActivityDTO.StartActivityOffset; durationActivity.Value = refActivityDTO.DurationActivity; } VMMainViewModel.Instance.dlgUserDrawWPF += UserDrawWPF; VMMainViewModel.Instance.dlgMouseLeftClickOnMapEvent += MapOnClick; VMMainViewModel.Instance.InvalidateVisual(); }
public async void MapOnClick(object sender, MapMouseEventArgsWPF e) { try { SetHighwayFilter(); DPoint Dpnt = new DPoint(); Dpnt.X = e.MapXLongLatWGS84; Dpnt.Y = e.MapYLongLatWGS84; if (checkBoxMapSource.IsChecked == true) { checkBoxMapSource.IsChecked = false; shPoint pnt = new shPoint(); int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestPointIdOnRoad("0", highwayFilter, Dpnt.X, Dpnt.Y); pnt = PointId.point; nodeid = PointId.nodeId; if (pnt.x != 0 || pnt.y != 0) { pntSource.X = pnt.x; pntSource.Y = pnt.y; nodeSourceId = nodeid; txtSourceX.Text = Math.Round(pntSource.X, 4).ToString(); txtSourceY.Text = Math.Round(pntSource.Y, 4).ToString(); } VMMainViewModel.Instance.InvalidateVisual(); } else if (checkBoxMapTarget.IsChecked == true) { checkBoxMapTarget.IsChecked = false; shPoint pnt = new shPoint(); int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestRoadNodeWithCondition("0", highwayFilter, Dpnt.X, Dpnt.Y, nodeSourceId, true); pnt = PointId.point; nodeid = PointId.nodeId; //UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoadWithCondition(out pnt, out nodeid,highwayFilter, Dpnt.X, Dpnt.Y, nodeSourceId, true); if (pnt.x != 0 || pnt.y != 0) { pntTarget.X = pnt.x; pntTarget.Y = pnt.y; txtTargetX.Text = Math.Round(pntTarget.X, 4).ToString(); txtTargetY.Text = Math.Round(pntTarget.Y, 4).ToString(); nodeTargetId = nodeid; } else { } VMMainViewModel.Instance.InvalidateVisual(); } else { for (int i = 0; i < dtGridRoute.Items.Count; i++) { OsmRouteData DetailData = ((List <OsmRouteData>)dtGridRoute.ItemsSource)[i]; if (DetailData.IsMapClick) { DetailData.IsMapClick = false; shPoint pnt = new shPoint(); // string err = UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoad(out pnt, Dpnt.X, Dpnt.Y); int nSourceId = 0; if (i == 0) { nSourceId = nodeSourceId; } else { OsmRouteData prevDetailData = ((List <OsmRouteData>)dtGridRoute.ItemsSource)[i - 1]; nSourceId = prevDetailData.NodeId; } int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestRoadNodeWithCondition("0", highwayFilter, Dpnt.X, Dpnt.Y, nSourceId, true); pnt = PointId.point; nodeid = PointId.nodeId; // UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoadWithCondition(out pnt, out nodeid, highwayFilter, Dpnt.X, Dpnt.Y, nSourceId, true); if (pnt.x != 0 || pnt.y != 0) { DetailData.X = pnt.x; DetailData.Y = pnt.y; DetailData.NodeId = nodeid; } else { } VMMainViewModel.Instance.InvalidateVisual(); } } } } catch (Exception ex) { } }
public async void MapOnClick(object sender, MapMouseEventArgsWPF e) { try { SetHighwayFilter(); DPoint Dpnt = new DPoint(); Dpnt.X = e.MapXLongLatWGS84; Dpnt.Y = e.MapYLongLatWGS84; if (checkBoxMapSource.IsChecked == true) { checkBoxMapSource.IsChecked = false; shPoint pnt = new shPoint(); int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestPointIdOnRoad("0", highwayFilter, Dpnt.X, Dpnt.Y); if (PointId != null) { pnt = PointId.point; nodeid = PointId.nodeId; if (pnt.x != 0 || pnt.y != 0) { pntSource.X = pnt.x; pntSource.Y = pnt.y; nodeSourceId = nodeid; txtSourceX.Text = Math.Round(pntSource.X, 4).ToString(); txtSourceY.Text = Math.Round(pntSource.Y, 4).ToString(); } } //////string err = UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointIdOnRoad(out pnt,out nodeid,highwayFilter, Dpnt.X, Dpnt.Y); //////if (string.IsNullOrEmpty(err) == false) //////{ ////// err = KingsGameClientModel.Properties.Resources.strSpatialServicenotActive; ////// ComponentsUtility.KGMsgBox.ShowCustomMsgOk(UserSession.GetParentWindow(this), err); ////// return; //////} //////else //////{ ////// if (pnt.x != 0 || pnt.y != 0) ////// { ////// pntSource.X = pnt.x; ////// pntSource.Y = pnt.y; ////// nodeSourceId = nodeid; ////// txtSourceX.Text = Math.Round(pntSource.X, 4).ToString(); ////// txtSourceY.Text = Math.Round(pntSource.Y, 4).ToString(); ////// } ////// else ////// { ////// } //////} VMMainViewModel.Instance.InvalidateVisual(); } else if (checkBoxMapTarget.IsChecked == true) { checkBoxMapTarget.IsChecked = false; shPoint pnt = new shPoint(); int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestRoadNodeWithCondition("0", highwayFilter, Dpnt.X, Dpnt.Y, nodeSourceId, true); if (PointId != null) { pnt = PointId.point; nodeid = PointId.nodeId; //UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoadWithCondition(out pnt, out nodeid,highwayFilter, Dpnt.X, Dpnt.Y, nodeSourceId, true); if (pnt.x != 0 || pnt.y != 0) { pntTarget.X = pnt.x; pntTarget.Y = pnt.y; txtTargetX.Text = Math.Round(pntTarget.X, 4).ToString(); txtTargetY.Text = Math.Round(pntTarget.Y, 4).ToString(); nodeTargetId = nodeid; } else { } } VMMainViewModel.Instance.InvalidateVisual(); } else { for (int i = 0; i < dtGridRoute.Items.Count; i++) { OsmRouteData DetailData = ((List <OsmRouteData>)dtGridRoute.ItemsSource)[i]; if (DetailData.IsMapClick) { DetailData.IsMapClick = false; shPoint pnt = new shPoint(); // string err = UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoad(out pnt, Dpnt.X, Dpnt.Y); int nSourceId = 0; if (i == 0) { nSourceId = nodeSourceId; } else { OsmRouteData prevDetailData = ((List <OsmRouteData>)dtGridRoute.ItemsSource)[i - 1]; nSourceId = prevDetailData.NodeId; } int nodeid = 0; shPointId PointId = await clsRoadRoutingWebApi.GetNearestRoadNodeWithCondition("0", highwayFilter, Dpnt.X, Dpnt.Y, nSourceId, true); if (PointId != null) { pnt = PointId.point; nodeid = PointId.nodeId; // UserSession.ClientSideObject.m_GameManagerProxy.GetNearestPointOnRoadWithCondition(out pnt, out nodeid, highwayFilter, Dpnt.X, Dpnt.Y, nSourceId, true); if (pnt.x != 0 || pnt.y != 0) { DetailData.X = pnt.x; DetailData.Y = pnt.y; DetailData.NodeId = nodeid; } else { } } VMMainViewModel.Instance.InvalidateVisual(); } } } } catch (Exception ex) { } }