Пример #1
0
        // 更新目标
        private bool UpdateElement(RealData data)
        {
            var layer = mapLogic.GetLayer(objLayer);

            if (layer == null)
            {
                return(false);
            }

            string name = data.TargetNum.ToString();

            if (!elementMgr.IsHaveElement(name))
            {
                return(false);
            }

            var element = mapLogic.GetLayer(objLayer).GetElement(name);

            if (element == null)
            {
                return(false);
            }
            IMFPicture picElement = element as IMFPicture;

            if (picElement == null)
            {
                return(false);
            }
            // 更新目标位置
            picElement.UpdatePosition(data.Longitude, data.Latitude);

            // 更新目标航迹
            if (trackMgr.IsShowTrack(name))
            {
                UpdateElementTrackLine(name);
            }

            return(true);
        }
Пример #2
0
        // 更新卫星模型图元位置
        private bool UpdateModelPosition(Model3D model)
        {
            // 更新卫星位置
            var layer = mapLogic.GetLayer(model.LayerName);

            if (layer == null)
            {
                return(false);
            }

            var element = layer.GetElement(model.ModelName);

            if (element == null)
            {
                return(false);
            }

            I3DModel modelElement = element as I3DModel;

            if (modelElement == null)
            {
                return(false);
            }

            MapLngLat lnglat = new MapLngLat(model.Coordinate.Lng, model.Coordinate.Lat, model.Coordinate.Alt);

            modelElement.UpdateModel(lnglat, model.Azimuth + 90);    // 更新模型

            layer.Refresh();

            return(true);
        }