// 更新目标 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); }
// 更新卫星模型图元位置 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); }