/// <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); }
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> /// 创建书签 /// </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); }