// 处理实时数据 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)); } }
/// <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; }
/// <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); }
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); }
private void 编辑图元ToolStripMenuItem_Click(object sender, System.EventArgs e) { if (picElement == null) { return; } mapLogic.GetToolBox().EditElement(picElement); }