using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.Geometry; using KGIS.Framework.Platform; using KGIS.Framework.Views; using Kingo.Plugin.BHTB_Extract.View; using Kingo.PluginServiceInterface; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Kingo.Plugin.BHTB_Extract { public class UcMulitMapControlHelper : IUcMulitMapControlHelper { public UcMapControl view = null; public List mulitMapControls = new List(); public IGeometry CurrentGeometry { get; set; } public void InitView() { view = new UcMapControl(); (Platform.Instance.ViewManager as IViewManager2).AddDocument(view, DockStyle.DockRight); ProjectInfo ProInfo = KGIS.Framework.Maps.MapsManager.Instance.MapService.GetProjectInfo() as ProjectInfo; if (ProInfo != null) ProInfo.MulitMapData = ProInfo.TempData; view.SetLayer(); mulitMapControls.Add(view); } public AxMapControl GetUcMapControl() { if (view != null) return view.axMapControl; return null; } public void SetMask(IGeometry currentGeo) { CurrentGeometry = currentGeo; foreach (object item in mulitMapControls) { if (item == null) continue; UcMapControl ucMap = item as UcMapControl; if (ucMap == null || ucMap.IsDisposed) continue; ucMap.SetMask(currentGeo); } //view.SetMask(currentGeo); } public void ClearData() { foreach (object item in mulitMapControls) { if (item == null) continue; UcMapControl ucMap = item as UcMapControl; if (ucMap == null || ucMap.IsDisposed) continue; ucMap.ClearPanelData(); } //view.ClearPanelData(); } public void SetLayer() { foreach (object item in mulitMapControls) { if (item == null) continue; UcMapControl ucMap = item as UcMapControl; if (ucMap == null || ucMap.IsDisposed) continue; ucMap.SetLayer(); } //view.SetLayer(); } public void MarkLabelLayer() { foreach (object item in mulitMapControls) { if (item == null) continue; UcMapControl ucMap = item as UcMapControl; if (ucMap == null || ucMap.IsDisposed) continue; ucMap.MarkLabelLayer(); } //view.MarkLabelLayer(); } } }