Ejemplo n.º 1
0
        // 处理实时数据
        public void DealRealData(Model.RealData data)
        {
            var   position = new MapLngLat(data.Longitude, data.Latitude, data.Altitude);
            Plane plane    = CreateStateModel(data, position);

            trackMgr.AddTrackPoint(plane.Name, data.TargetType, position);

            if (!planeMgr.HasModel(plane))
            {
                if (CreatePlane(plane))
                {
                    planeMgr.AddModel(plane);
                }
            }
            else
            {
                planeMgr.UpdataModel(plane);
                UpdatePlanePosition(plane);

                if (trackMgr.IsShowTrack(plane.Name))
                {
                    UpdateTrackPoint(plane);
                }
            }

            // 目标跟踪
            if (trackPicture != null)
            {
                MapLngLat pos = trackPicture.GetLngLat();
                mapLogic.GetToolBox().ZoomToPosition(pos);
                EventPublisher.PublishJumpToGlobeViewEvent(this, new Model.JumpToGlobeViewEventArgs(trackPicture.ElementName, pos));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 增加预警区域
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddArea_Click(object sender, EventArgs e)
        {
            var tool = mapLogic.GetToolBox();

            if (tool == null)
            {
                return;
            }

            ElementTypeEnum type = cmbAreaType.Text == "多边形" ? ElementTypeEnum.Polygon : ElementTypeEnum.Rectangle;

            tool.CommondExecutedEvent += Tool_CommondExecutedEvent;
            tool.DrawGraphic(type);
            this.Visible = false;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 初始化地图框架
        /// </summary>
        private void InitMapFrame()
        {
            InitMapFrame mapFrame = new InitMapFrame(MapEngineType.GMap, null);

            mapLogic = mapFrame.GetMapLogic();
            map      = mapLogic.GetIMFMap();

            map.ElementClickEvent += new System.EventHandler <Core.Model.MFElementClickEventArgs>(map_ElementClickEvent);
            map.MouseMoveEvent    += new EventHandler <MFMouseEventArgs>(map_MouseMoveEvent);
            Control mapControl = (Control)mapLogic.GetMapControl();

            mapControl.Dock = DockStyle.Fill;
            this.panel1.Controls.Add(mapControl);

            mapLogic.GetToolBox().CommondExecutedEvent += new EventHandler <MessageEventArgs>(Form1_CommondExecutedEvent);
            System.Diagnostics.Debug.WriteLine("初始化程序线程ID" + Thread.CurrentThread.ManagedThreadId);
        }
Ejemplo n.º 4
0
        public GMapControlBusiness mapBusiness = null;                         // 业务类


        public GMapControlEx(TrackLineManager trackMgr, ArcGlobeBusiness _globeBusiness)
        {
            InitializeComponent();

            InitMapFrame mapFrame = new InitMapFrame(MapEngineType.GMap, null);

            mapLogic = mapFrame.GetMapLogic();
            toolBox  = mapLogic.GetToolBox();
            map      = mapLogic.GetIMFMap();
            map.ElementClickEvent += Map_ElementClickEvent;
            map.MouseMoveEvent    += new EventHandler <MFMouseEventArgs>(map_MouseMoveEvent);

            Control mapControl = (Control)mapLogic.GetMapControl();

            mapControl.Dock = DockStyle.Fill;
            this.mapPanel.Controls.Add(mapControl);

            mapBusiness = new GMapControlBusiness(mapLogic, trackMgr, _globeBusiness);
        }
Ejemplo n.º 5
0
 private void 编辑图元ToolStripMenuItem_Click(object sender, System.EventArgs e)
 {
     if (picElement == null)
     {
         return;
     }
     mapLogic.GetToolBox().EditElement(picElement);
 }