Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        // 添加卫星模型图元
        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);
        }
Ejemplo n.º 3
0
        // 添加目标
        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);
        }