public ArcMapBusiness(MapFrame.Core.Interface.IMapLogic _mapLogic, ESRI.ArcGIS.Controls.AxMapControl _axMapControl1) { mapLogic = _mapLogic; axMapControl1 = _axMapControl1; elementMgr = new ArcMapElementMgr(); trackMgr = new TrackLineManager(); mapLogic.AddLayer(objLayer); mapLogic.AddLayer(trackLineLayer); EventPublisher.TSDataEvent += EventPublisher_TSDataEvent; }
// 添加卫星模型图元 private bool AddModel2Earth(Model3D model) { var layer = mapLogic.AddLayer(model.LayerName); if (layer == null) { Log4Allen.WriteLog(typeof(ArcGlobeBusiness), "创建卫星模型失败:添加图层失败。"); return(false); } Kml kml = new Kml(); kml.Placemark.Name = model.ModelName; KmlModel3d modelKml = new KmlModel3d(); modelKml.ModelFilePath = model.ModelPath; modelKml.Description = model.ModelName; modelKml.Position = model.Coordinate; modelKml.Scale = model.Scale; modelKml.Azimuth = model.Azimuth; kml.Placemark.Graph = modelKml; MapFrame.Core.Interface.IMFElement element = null; var ret = layer.AddElement(kml, out element); if (ret) { EventPublisher.PublishElementAddEvent(this, new ElementAddEventArgs(model.LayerName, model.ModelName)); } return(ret); }
// 添加目标 private bool AddElement(RealData data) { var layer = mapLogic.AddLayer(objLayer); if (layer == null) { return(false); } string iconUrl = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Image\\plane.png"); string name = data.TargetNum.ToString(); MapFrame.Core.Model.Kml kml = new MapFrame.Core.Model.Kml(); kml.Placemark.Name = name; kml.Placemark.Graph = new MapFrame.Core.Model.KmlPoint() { Position = new MapFrame.Core.Model.MapLngLat(data.Longitude, data.Latitude), Size = new MapFrame.Core.Model.MapSize(10, 10), Description = name, IcoUrl = iconUrl, TipText = "标牌测试...." }; bool flag = layer.AddElement(kml); if (flag) { var info = new ElementInfo(); var point = new MapLngLat(data.Longitude, data.Latitude, data.Altitude); info.ElementName = name; info.ElementType = ElementType.Picture; info.CreateTime = DateTime.Now; info.LayerName = objLayer; info.Position = point; elementMgr.AddElement(name, info); } return(flag); }