Ejemplo n.º 1
0
        private void cmb_Bookmark_SelectedIndexChanged(object sender, EventArgs e)
        {
            IMapBookmarks        bookmarks           = mapControl.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                string index   = cmb_Bookmark.SelectedIndex.ToString();
                string bm_name = cmb_Bookmark.Items[Convert.ToInt32(index)].ToString();
                //Console.WriteLine(bm_name + " "+ spatialBookmark.Name);

                if (bm_name == spatialBookmark.Name)
                {
                    spatialBookmark.ZoomTo((IMap)mapControl.ActiveView);
                    mapControl.ActiveView.Refresh();
                    break;
                }

                spatialBookmark = enumSpatialBookmark.Next();
            }

            btn_bmDEL.Visible = true;
            but_addbm.Visible = false;
        }
Ejemplo n.º 2
0
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            IMapBookmarks pBookmarks = m_pMap as IMapBookmarks;

            if (pBookmarks != null)
            {
                bool flag = false;
                IEnumSpatialBookmark bookmarks = pBookmarks.Bookmarks;
                ISpatialBookmark     pBookmark;
                bookmarks.Reset();
                while ((pBookmark = bookmarks.Next()) != null)
                {
                    if (pBookmark.Name == txtBookmarkName.Text)
                    {
                        break;
                    }
                }
                if (!flag)
                {
                    frmCreateBookmarkView.nIndex = frmCreateBookmarkView.nIndex + 1;
                    pBookmark = new AOIBookmarkClass()
                    {
                        Name     = txtBookmarkName.Text,
                        Location = (m_pMap as IActiveView).Extent
                    };

                    pBookmarks.AddBookmark(pBookmark);
                }
            }
        }
Ejemplo n.º 3
0
        public void CreatBookmark(string sBookmarkName)
        {
            bool isExist = cbBookmarkList.Items.Contains(sBookmarkName);

            // 判断书签名是否重复
            if (isExist)
            {
                MessageBox.Show("该书签已存在");
            }
            else
            {
                IAOIBookmark aoiBookmark = new AOIBookmarkClass();
                // 保存书签到本地变量
                if (aoiBookmark != null)
                {
                    aoiBookmark.Location = axMapControl1.ActiveView.Extent;
                    aoiBookmark.Name     = sBookmarkName;
                }
                IMapBookmarks bookmark = axMapControl1.Map as IMapBookmarks;
                // 保存书签到组件的bookmark中
                if (bookmark != null)
                {
                    bookmark.AddBookmark(aoiBookmark);
                }
                // 更新下拉列表
                cbBookmarkList.Items.Add(aoiBookmark.Name);
            }
        }
Ejemplo n.º 4
0
        public int OnPopup(object hook)
        {
            m_HookHelper.Hook = hook;

            //Get the bookmarks of the focus map
            IMapBookmarks mapBookmarks = (IMapBookmarks)m_HookHelper.FocusMap;

            //Get bookmarks enumerator
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();

            //Loop through the bookmarks to count them
            ISpatialBookmark spatialBookmark = enumSpatialBookmarks.Next();

            int bookmarkCount = 0;

            while (spatialBookmark != null)
            {
                bookmarkCount   = bookmarkCount + 1;
                spatialBookmark = enumSpatialBookmarks.Next();
            }

            //Return the number of multiitems
            return(bookmarkCount);
        }
Ejemplo n.º 5
0
        //根据书签名字返回书签 和 索引
        public void findByName(string bmName, ref ISpatialBookmark outBM, ref int outIndex)
        {
            //Get the bookmarks of the focus map
            IMapBookmarks mapBookmarks = (IMapBookmarks)pMap;

            //Get bookmarks enumerator
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();

            //Loop through the bookmarks to get bookmark names
            ISpatialBookmark spatialBookmark = enumSpatialBookmarks.Next();

            int bookmarkCount = 0;

            while (spatialBookmark != null)
            {
                //Get the correct bookmark
                if (spatialBookmark.Name == bmName)
                {
                    outBM    = spatialBookmark;
                    outIndex = bookmarkCount;
                    break;
                }
                bookmarkCount   = bookmarkCount + 1;
                spatialBookmark = enumSpatialBookmarks.Next();
            }
        }
Ejemplo n.º 6
0
        public string get_ItemCaption(int index)
        {
            //Get the bookmarks of the focus map
            IMapBookmarks mapBookmarks = (IMapBookmarks)m_HookHelper.FocusMap;

            //Get bookmarks enumerator
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();

            //Loop through the bookmarks to get bookmark names
            ISpatialBookmark spatialBookmark = enumSpatialBookmarks.Next();

            int bookmarkCount = 0;

            while (spatialBookmark != null)
            {
                //Get the correct bookmark
                if (bookmarkCount == index)
                {
                    //Return the bookmark name
                    return(spatialBookmark.Name);
                }
                bookmarkCount   = bookmarkCount + 1;
                spatialBookmark = enumSpatialBookmarks.Next();
            }

            return("");
        }
Ejemplo n.º 7
0
        //Open AdmitBookmarkName.cs
        private void miCreateBookmark_Click(object sender, EventArgs e)
        {
            AdmitBookmarkName frmABN = new AdmitBookmarkName(this);

            frmABN.Show();
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;
        }
Ejemplo n.º 8
0
        public void OnItemClick(int index)
        {
            //Get the bookmarks of the focus map
            IMapBookmarks mapBookmarks = (IMapBookmarks)m_HookHelper.FocusMap;

            //Get bookmarks enumerator
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();

            //Loop through the bookmarks to get bookmark to zoom to
            ISpatialBookmark spatialBookmark = enumSpatialBookmarks.Next();

            int bookmarkCount = 0;

            while (spatialBookmark != null)
            {
                //Get the correct bookmark
                if (bookmarkCount == index)
                {
                    //Zoom to the bookmark
                    spatialBookmark.ZoomTo(m_HookHelper.FocusMap);
                    //Refresh the map
                    m_HookHelper.ActiveView.Refresh();
                }
                bookmarkCount   = bookmarkCount + 1;
                spatialBookmark = enumSpatialBookmarks.Next();
            }
        }
Ejemplo n.º 9
0
        private void ToolStripButton2_Click(object sender, EventArgs e)
        {
            AddBookmark frmBookMark = new AddBookmark();

            frmBookMark.ShowDialog();
            string pName = string.Empty;
            int    check = frmBookMark.Check;

            if (check == 1)
            {
                pName = frmBookMark.Bookmark;
            }
            if (string.IsNullOrEmpty(pName))
            {
                return;
            }

            //书签进行重名判断
            IMapBookmarks        mapBookmarks         = axMapControl1.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();
            ISpatialBookmark pSpatialBookmark;

            while ((pSpatialBookmark = enumSpatialBookmarks.Next()) != null)
            {
                if (pName == pSpatialBookmark.Name)
                {
                    DialogResult dr = MessageBox.Show("此书签名已存在!是否替换?", "提示", MessageBoxButtons.YesNoCancel);
                    if (dr == DialogResult.Yes)
                    {
                        mapBookmarks.RemoveBookmark(pSpatialBookmark);
                    }
                    else if (dr == DialogResult.No)
                    {
                        frmBookMark.ShowDialog();
                    }
                    else
                    {
                        return;
                    }
                }
            }

            //获取当前地图的对象
            IActiveView pActiveView = axMapControl1.Map as IActiveView;
            //创建一个新的书签并设置其位置范围为当前视图的范围
            IAOIBookmark pBookmark = new AOIBookmarkClass
            {
                Location = pActiveView.Extent,
                //获得书签名
                Name = pName
            };
            //通过IMapBookmarks接口访问当前地图书签集,添加书签到地图的书签集中
            IMapBookmarks pMapBookmarks = axMapControl1.Map as IMapBookmarks;

            pMapBookmarks.AddBookmark(pBookmark);
        }
Ejemplo n.º 10
0
        //地图被替换时,加载地图文档的书签集合
        //释放总览窗体,并关闭
        private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e)
        {
            /*
             * 获取地图,然后,获取书签集合
             * 如果地图有书签,遍历书签,每个书签创建一个菜单
             * 如果没书签,直接return;
             */

            //获取书签集合
            IMapBookmarks mapBookmarks =
                axMapControl1.Map as IMapBookmarks;
            IEnumSpatialBookmark bookmarks
                = mapBookmarks.Bookmarks;

            //获取当前书签
            ISpatialBookmark currentBookmark
                = bookmarks.Next();

            //如果没书签直接退出函数,有,则删除原地图文档的书签菜单,并添加一个分割条
            if (currentBookmark == null)
            {
                return;
            }
            else
            {
                Int32 bookmarksStartMenuCount = menuBookmarks.DropDownItems.Count;
                if (bookmarksStartMenuCount > 2)//有其他地图书签时
                {
                    for (int i = 2; i < bookmarksStartMenuCount; i++)
                    {
                        menuBookmarks.DropDownItems.RemoveAt(2);
                    }
                }
                //添加一个分割条
                menuBookmarks.DropDownItems.Add(new ToolStripSeparator());
            }

            //遍历书签菜单,添加菜单
            ToolStripMenuItem tempMenu = null;

            while (currentBookmark != null)
            {
                tempMenu        = new ToolStripMenuItem(currentBookmark.Name);
                tempMenu.Click += new EventHandler(tempMenu_Click);
                //存储书签
                tempMenu.Tag = currentBookmark;
                menuBookmarks.DropDownItems.Add(tempMenu);

                currentBookmark = bookmarks.Next();
            }

            //释放总览窗体并关闭
            CloseOverviewForm();
        }
        /// <summary>
        /// 添加书签
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddBookMark_Click(object sender, EventArgs e)
        {
            FormBookmark formBookmark = new FormBookmark();

            formBookmark.ShowDialog();
            string pName = string.Empty;

            pName = formBookmark.BookMark;
            if (!formBookmark.Check || string.IsNullOrEmpty(pName))
            {
                return;
            }

            // 书签进行重命名判断
            IMapBookmarks        mapBookmarks        = MainMapControl.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = mapBookmarks.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark;

            while ((spatialBookmark = enumSpatialBookmark.Next()) != null)
            {
                if (pName == spatialBookmark.Name)
                {
                    DialogResult dr = MessageBox.Show("书签重命名,时候替换?", "提示", MessageBoxButtons.YesNoCancel);
                    switch (dr)
                    {
                    case DialogResult.Yes:
                        mapBookmarks.RemoveBookmark(spatialBookmark);
                        break;

                    case DialogResult.No:
                        formBookmark.ShowDialog();
                        break;

                    default:
                        return;
                    }
                }
            }
            // 获取当前地图的对象
            IActiveView activeView = MainMapControl.Map as IActiveView;
            // 创建一个新的书签并设置其位置为当前视图范围
            IAOIBookmark pBookmark = new AOIBookmark();

            pBookmark.Location = activeView.Extent;
            // 获得书签名称
            pBookmark.Name = pName;
            // 通过IMapBookmarks访问当前地图书签集,添加书签到地图的书签集中
            IMapBookmarks pMapBookmarks = MainMapControl.Map as IMapBookmarks;

            pMapBookmarks.AddBookmark(pBookmark);
        }
Ejemplo n.º 12
0
        /// <summary>Exports all bookmarks to PDF files.</summary>
        /// <param name="directory">The directory that the exported files will be written to.</param>
        /// <param name="dpi">The resolution of the output files.</param>
        /// <param name="exportFormat">The format of the exported files.</param>
        public void ExportBookmarksToFiles(string directory, long dpi, ExportFormat exportFormat)
        {
            if (!Directory.Exists(directory))
            {
                throw new DirectoryNotFoundException("Directory not found: " + directory);
            }
            IMouseCursor mc        = new MouseCursorClass();
            const int    hourglass = 2;

            mc.SetCursor(hourglass);

            IMxDocument   mxDoc     = _app.Document as IMxDocument;
            IMapBookmarks bookmarks = (IMapBookmarks)mxDoc.FocusMap;

            IEnumSpatialBookmark enumBM = bookmarks.Bookmarks;

            enumBM.Reset();
            ISpatialBookmark sbm = enumBM.Next();


            ProgressDialogFactoryClass dialogFactory = new ProgressDialogFactoryClass();
            var              cancelTracker           = new CancelTrackerClass();
            IStepProgressor  stepProgressor          = dialogFactory.Create(cancelTracker, _app.hWnd);
            IProgressDialog2 progDialog = stepProgressor as IProgressDialog2;

            progDialog.CancelEnabled = true;

            progDialog.ShowDialog();
            stepProgressor.Hide();
            stepProgressor.Message = "Exporting...";

            // Create a formatting string with the proper extension.  (E.g., "{0}.pdf" for PDF files".)
            string fnFmt = string.Format("{{0}}.{0}", Enum.GetName(typeof(ExportFormat), exportFormat));

            try
            {
                while (sbm != null)
                {
                    sbm.ZoomTo(mxDoc.FocusMap);
                    string filename = System.IO.Path.Combine(directory, string.Format(fnFmt, sbm.Name));
                    ExportPageLayoutToFile(mxDoc.PageLayout, filename, dpi, exportFormat);
                    sbm = enumBM.Next();
                }
            }
            finally
            {
                if (progDialog != null)
                {
                    progDialog.HideDialog();
                    ComReleaser.ReleaseCOMObject(progDialog);
                }
            }
        }
Ejemplo n.º 13
0
        private IEnumSpatialBookmark m_BookMarks = null;//地图书签集合

        public FormManagementBookmark(AxMapControl axMapControl)
        {
            InitializeComponent();

            m_AxMapControl = axMapControl;

            //获取地图书签集合
            if (m_AxMapControl != null)
            {
                IMapBookmarks mapBookmarksWrapper = m_AxMapControl.Map as IMapBookmarks;
                m_BookMarks = mapBookmarksWrapper.Bookmarks;
            }
        }
Ejemplo n.º 14
0
        /* Function: Load_Bookmark
         * Usage: load the opening map's bookmark into select-bookmark combobox
         * Input: sBookmarkName = the name of bookmark introducted
         * Output: a spatial reference
         * Author: JL Ding
         * Time: 2019/03/08
         */
        private void Load_Bookmark()
        {
            IMapBookmarks        bookmarks           = axMapControl1.Map as IMapBookmarks; //get the map's bookmark through axMapControl1.Map
            IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                cbBookmarkList.Items.Add(spatialBookmark.Name);
                spatialBookmark = enumSpatialBookmark.Next();
            }
        }
Ejemplo n.º 15
0
        private void frmManageBookmark_Load(object sender, EventArgs e)
        {
            IMapBookmarks pBookmarks = m_pMap as IMapBookmarks;

            if (pBookmarks != null)
            {
                IEnumSpatialBookmark pEnumSpatialBookmark = pBookmarks.Bookmarks;
                ISpatialBookmark     pBookmark;
                pEnumSpatialBookmark.Reset();
                while ((pBookmark = pEnumSpatialBookmark.Next()) != null)
                {
                    this.lstBookmarks.Items.Add(pBookmark.Name).Tag = pBookmark;
                }
            }
        }
Ejemplo n.º 16
0
        }//获取空间书签,并对视图初始化

        private void InitControl()
        {
            mapbookmarks = _currentmap as IMapBookmarks;                        //获取当前地图的书签集
            IEnumSpatialBookmark enumspatialbookmarks = mapbookmarks.Bookmarks; //赋给变量

            enumspatialbookmarks.Reset();
            ISpatialBookmark pspatialbookmark = enumspatialbookmarks.Next();//选择第一个书签
            string           sbookmarksname   = string.Empty;

            while (pspatialbookmark != null)                       //循环,判断是否为空
            {
                sbookmarksname = pspatialbookmark.Name;            //书签名字获取
                treeView1.Nodes.Add(sbookmarksname);               //将其加入到目录树视图
                pdictionary.Add(sbookmarksname, pspatialbookmark); //加到索引字典内
                pspatialbookmark = enumspatialbookmarks.Next();    //进行下一个书签操作
            }
        }
Ejemplo n.º 17
0
        private void 添加书签ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bookmark frmbookmark = new bookmark();

            frmbookmark.ShowDialog();            //初始化一个书签管理窗口
            string pName = frmbookmark.Bookmark; //将书签名字赋给pName

            if (pName == "")
            {
                return;
            }

            IMapBookmarks        mapbookmarks         = axMapControl1.Map as IMapBookmarks; //访问当前书签集
            IEnumSpatialBookmark enumspatialbookmarks = mapbookmarks.Bookmarks;             //将当前的书签集赋给enumspatialbookmarks

            enumspatialbookmarks.Reset();
            ISpatialBookmark pspatialbookmarks;                               //创建一个空的空间书签

            while ((pspatialbookmarks = enumspatialbookmarks.Next()) != null) //循环判断名字是否已经存在
            {
                if (pName == pspatialbookmarks.Name)
                {
                    DialogResult dr = MessageBox.Show("此书签名已存在!是否替换?", "提示", MessageBoxButtons.YesNoCancel);
                    if (dr == DialogResult.Yes)
                    {
                        mapbookmarks.RemoveBookmark(pspatialbookmarks);
                    }
                    else if (dr == DialogResult.No)
                    {
                        frmbookmark.ShowDialog();
                    }
                    else
                    {
                        return;
                    }
                }
            }
            IActiveView  pactiveview = axMapControl1.Map as IActiveView;//获取当前地图对象
            IAOIBookmark pbookmark   = new AOIBookmark();

            pbookmark.Location = pactiveview.Extent;                          //创建一个书签并设置其位置为当前视图范围
            pbookmark.Name     = pName;                                       //获得书签名
            IMapBookmarks pmapbookmarks = axMapControl1.Map as IMapBookmarks; //访问当前书签集

            pmapbookmarks.AddBookmark(pbookmark);                             //添加新书签到地图的书签集中
        }
        /// <summary>
        /// 获取空间书签,对tviewBookmark进行初始化
        /// </summary>
        private void InitControl()
        {
            pMapBookmarks = _currentMap as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = pMapBookmarks.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();
            string           bookmarkName    = string.Empty;

            while (spatialBookmark != null)
            {
                bookmarkName = spatialBookmark.Name;
                tviewBookMark.Nodes.Add(bookmarkName);
                pDictionary.Add(bookmarkName, spatialBookmark);
                spatialBookmark = enumSpatialBookmark.Next();
            }
        }
Ejemplo n.º 19
0
        public void DeleteBookmark(string sBookmarkName) //delete the bookmark named sBookmarkName
        {
            IMapBookmarks        bookmarks           = axMapControl1.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;
            ISpatialBookmark     spatialBookmark     = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                if (spatialBookmark.Name == sBookmarkName)
                {
                    bookmarks.RemoveBookmark(spatialBookmark);
                    break;
                }
                spatialBookmark = enumSpatialBookmark.Next();
            }

            cbBookmarkList.Items.Remove(sBookmarkName); //Remove the name of the bookmark from the ComboBox
        }
Ejemplo n.º 20
0
        //添加书签
        private void Button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.textBox1.Text))
            {
                return;
            }

            //书签进行重名判断
            IMapBookmarks        mapBookmarks         = mainForm.mainform.mainMapControl.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();
            ISpatialBookmark pSpatialBookmark;

            while ((pSpatialBookmark = enumSpatialBookmarks.Next()) != null)
            {
                if (this.textBox1.Text == pSpatialBookmark.Name)
                {
                    DialogResult dr = MessageBox.Show("此书签名已存在!是否替换?", "提示", MessageBoxButtons.YesNo);
                    if (dr == DialogResult.Yes)
                    {
                        mapBookmarks.RemoveBookmark(pSpatialBookmark);
                    }
                    else if (dr == DialogResult.No)
                    {
                        return;
                    }
                }
            }

            //获取当前地图的对象
            IActiveView pActiveView = mainForm.mainform.mainMapControl.Map as IActiveView;
            //创建一个新的书签并设置其位置范围为当前视图的范围
            IAOIBookmark pBookmark = new AOIBookmarkClass();

            pBookmark.Location = pActiveView.Extent;
            //获得书签名
            pBookmark.Name = this.textBox1.Text;
            //通过IMapBookmarks接口访问当前地图书签集,添加书签到地图的书签集中
            IMapBookmarks pMapBookmarks = mainForm.mainform.mainMapControl.Map as IMapBookmarks;

            pMapBookmarks.AddBookmark(pBookmark);
            this.Close();
        }
Ejemplo n.º 21
0
        private void cbBookmarkList_SelectedIndexChanged(object sender, EventArgs e)
        {
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;

            IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;

            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                if ((spatialBookmark.Name) == cbBookmarkList.SelectedItem.ToString())
                {
                    spatialBookmark.ZoomTo((IMap)axMapControl1.ActiveView);
                    axMapControl1.ActiveView.Refresh();
                    break;
                }
                spatialBookmark = enumSpatialBookmark.Next();
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 监听结束书签列表
        /// </summary>
        public Boolean oneBookmark(string name)
        {
            IMapBookmarks        bookmarks           = mapControl.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                if (name == spatialBookmark.Name)
                {
                    return(false);
                }

                spatialBookmark = enumSpatialBookmark.Next();
            }
            return(true);
        }
Ejemplo n.º 23
0
        /* Usage: Create a bookmark
         * Input: sBookmarkName = the name of bookmark introducted
         * Output: a spatial reference
         * Author: Ding
         * Time: 2019/03/08
         */
        public void CreateBookmark(string sBookmarkName) //sBookmarkName is the name of bookmark created by user
        {
            //through intersect IAOIBookmark to create a variable, whose type is AOIBookmark, using to save the present scale of map
            IAOIBookmark aoiBookmark = new AOIBookmarkClass();

            if (aoiBookmark != null)
            {
                aoiBookmark.Location = axMapControl1.ActiveView.Extent;
                aoiBookmark.Name     = sBookmarkName;
            }
            //through intersect IAOIBookmark to access present map and add new bookmark to map
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;

            if (bookmarks != null)
            {
                bookmarks.AddBookmark(aoiBookmark);
            }
            //add the name of new bookmark into ComboBox, for using the bookmarks later
            cbBookmarkList.Items.Add(aoiBookmark.Name);
        }
Ejemplo n.º 24
0
        private void InitControl()
        {
            mapBookmarks = _currentMap as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmarks = mapBookmarks.Bookmarks;

            enumSpatialBookmarks.Reset();
            ISpatialBookmark pSpatialBookmark = enumSpatialBookmarks.Next();

            string sBookMarkName = string.Empty;

            while (pSpatialBookmark != null)
            {
                sBookMarkName = pSpatialBookmark.Name;
                //增加树节点
                treeView1.Nodes.Add(sBookMarkName);
                //添加到数据字典
                pDictionary.Add(sBookMarkName, pSpatialBookmark);
                pSpatialBookmark = enumSpatialBookmarks.Next();
            }
        }
Ejemplo n.º 25
0
        public bool BookmarkExistsOrNot(string sBookmarkName)
        {
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;

            if (bookmarks != null)
            {
                IEnumSpatialBookmark enumSpatialBookmark = bookmarks.Bookmarks;

                ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

                while (spatialBookmark != null)
                {
                    if (spatialBookmark.Name == sBookmarkName)
                    {
                        return(true);
                    }
                    spatialBookmark = enumSpatialBookmark.Next();
                }
            }
            return(false);
        }
Ejemplo n.º 26
0
        /// <summary>
        /// 创建书签
        /// </summary>
        public Boolean CreatBookmark(string sBookmarkName)
        {
            Console.WriteLine(sBookmarkName);
            IAOIBookmark aoiBookmark = new AOIBookmark();

            if (aoiBookmark != null)
            {
                aoiBookmark.Location = mapControl.ActiveView.Extent;
                aoiBookmark.Name     = sBookmarkName;
            }

            IMapBookmarks bookmarks = mapControl.Map as IMapBookmarks;

            if (bookmarks != null)
            {
                bookmarks.AddBookmark(aoiBookmark);
                cmb_Bookmark.Items.Add(aoiBookmark.Name);
                return(true);
            }
            return(false);
        }
Ejemplo n.º 27
0
        public void CreateBookmark(string sBookmarkName)
        {
            IAOIBookmark aoiBookmark = new AOIBookmarkClass();

            //
            if (aoiBookmark != null)
            {
                aoiBookmark.Location = axMapControl1.ActiveView.Extent;
                aoiBookmark.Name     = sBookmarkName;
            }

            //add aoibookmark to map
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;

            if (bookmarks != null)
            {
                bookmarks.AddBookmark(aoiBookmark);
            }
            //add aoibookmark to the comboxitem
            cbBookmarkList.Items.Add(aoiBookmark.Name);
        }
Ejemplo n.º 28
0
        public void CreateBookmark(String bookmarkName)
        {
            //创建菜单项,其text为用户输入的文本框,但它被点击时,
            //地图就会zoom到某个位置
            IAOIBookmark mapBookmark = new AOIBookmarkClass();

            mapBookmark.Name     = bookmarkName;
            mapBookmark.Location = axMapControl1.ActiveView.Extent;

            IMapBookmarks boomarks = axMapControl1.Map as IMapBookmarks;

            boomarks.AddBookmark(mapBookmark);

            ToolStripMenuItem menuItem = new ToolStripMenuItem(bookmarkName);

            menuItem.Click += new EventHandler(menuItem_Click);
            menuItem.Tag    = mapBookmark;

            //被添加到书签菜单里面
            menuBookmarks.DropDownItems.Add(menuItem);
        }
Ejemplo n.º 29
0
        //Function: Create bookmarks;
        //Input: sBookmarkName is the name of the input bookmark
        //Output: Space
        //2019/3/8
        public void CreateBookmark(string sBookmarkName) //sBookmarkName is the name of the bookmark
        {
            //aoiBookmark is used to save the map extent
            IAOIBookmark aoiBookmark = new AOIBookmarkClass();

            if (aoiBookmark != null)
            {
                aoiBookmark.Location = axMapControl1.ActiveView.Extent;
                aoiBookmark.Name     = sBookmarkName;
            }

            //Add aoiBookmark to map
            IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;

            if (bookmarks != null)
            {
                bookmarks.AddBookmark(aoiBookmark);
            }

            //Add aoiBookmark to combobox
            cbBookmarkList.Items.Add(sBookmarkName);
        }
Ejemplo n.º 30
0
        private void cbBookmarkList_selectedIndexChanged(object sender, EventArgs e)
        {
            // 获取ArcGIS组件的bookmark,并将其转为可枚举值,方便循环
            IMapBookmarks        bookmark            = axMapControl1.Map as IMapBookmarks;
            IEnumSpatialBookmark enumSpatialBookmark = bookmark.Bookmarks;

            enumSpatialBookmark.Reset();
            ISpatialBookmark spatialBookmark = enumSpatialBookmark.Next();

            while (spatialBookmark != null)
            {
                if (cbBookmarkList.SelectedItem.ToString() == spatialBookmark.Name)
                {
                    // 当下拉列表索引指向的名称和bookmark的名称对应时,将保存的bookmark移到视野范围
                    spatialBookmark.ZoomTo((IMap)axMapControl1.ActiveView);
                    axMapControl1.ActiveView.Refresh();
                    break;
                }
                // 没有命中,继续枚举
                spatialBookmark = enumSpatialBookmark.Next();
            }
        }