Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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)
            {
            }
        }