123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using SuperMap.Data;
- using SuperMap.Mapping;
- using SuperMap.UI;
- using System.Windows.Forms;
- namespace WWPipeLine.Map
- {
- public class WorkSpaceEx
- {
- /// <summary>
- /// 打开工作空间,地图,鹰眼
- /// </summary>
- /// <param name="mapControl"></param>
- /// <param name="mapControlEagleEye"></param>
- /// <param name="lastPath"></param>
- public void OpenMap(MapControl mapControl, MapControl mapControlEagleEye, string lastPath = "")
- {
- OpenFileDialog dialog = new OpenFileDialog
- {
- Multiselect = true,//该值确定是否可以选择多个文件
- Title = "请选择管线工作空间",
- Filter = "SuperMap 工作空间文件|*.smwu;*.sxwu"
- };
- if (!string.IsNullOrEmpty(lastPath) && System.IO.File.Exists(lastPath))
- {
- Open(lastPath);
- return;
- }
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- string file = dialog.FileName;
- Open(file);
- Commons.SerializeHelper.IniHelper.Write(Commons.SerializeHelper.IniHelper.KEY_LAST_WORKSPACE_PATH, file);
- }
- void Open(string path)
- {
- Workspace ws = new Workspace();
- WorkspaceConnectionInfo workspaceConnectionInfo = new WorkspaceConnectionInfo(path);
- if (ws.Open(workspaceConnectionInfo))
- {
- mapControl.Map.Workspace = ws;
- var mapName = ws.Maps[0];
- mapControl.Map.Open(mapName);
- mapControl.Action = SuperMap.UI.Action.Pan;
- mapControl.Map.Refresh();
- //鹰眼的配置
- mapControlEagleEye.Map.Workspace = ws;
- mapControlEagleEye.Map.Open(mapName);
- mapControlEagleEye.Map.Layers.Remove("JSLK@CL_PostGreSQL#1");
- mapControlEagleEye.Map.Layers.Remove("JSLK@CL_PostGreSQL");
- mapControlEagleEye.Map.Layers.Remove("JSJDPT@CL_PostGreSQL");
- foreach (Layer layer in mapControlEagleEye.Map.Layers)
- {
- layer.IsSelectable = false;
- layer.IsEditable = false;
- }
- mapControlEagleEye.Map.ViewEntire();
- mapControlEagleEye.Map.Refresh();
- mapControlEagleEye.MarginPanEnabled = false;
- mapControlEagleEye.IsWaitCursorEnabled = false;
- mapControlEagleEye.InteractionMode = InteractionMode.CustomAll;
- mapControlEagleEye.Cursor = Cursors.Arrow;
- }
- else
- {
- MessageBox.Show("打开工作空间失败");
- }
- }
- }
- /// <summary>
- /// 关闭工作空间,地图,鹰眼
- /// </summary>
- /// <param name="mapControl"></param>
- /// <param name="mapControlOfEagleEye"></param>
- public void CloseMap(MapControl mapControl, MapControl mapControlOfEagleEye)
- {
- mapControl.Map.Close();
- mapControlOfEagleEye.Map.Close();
- mapControl.Dispose();
- mapControlOfEagleEye.Dispose();
- if (mapControl.Map.Workspace != null)
- {
- mapControl.Map.Workspace.Close();
- mapControl.Map.Workspace.Dispose();
- }
- if (mapControlOfEagleEye.Map.Workspace != null)
- {
- mapControlOfEagleEye.Map.Workspace.Close();
- mapControlOfEagleEye.Map.Workspace.Dispose();
- }
- }
- }
- }
|