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(); } }
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; }
private void button1_Click(object sender, EventArgs e) //书签视图定位 { TreeNode pselectnode = treeView1.SelectedNode; //获得选中的书签 ISpatialBookmark pspatialbm = pdictionary[pselectnode.Text]; //获得选中的书签对象 pspatialbm.ZoomTo(_currentmap); //缩放到选中的视图范围 IActiveView pactiveview = _currentmap as IActiveView; pactiveview.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); }
/// <summary> /// 书签视图定位 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLocate_Click(object sender, EventArgs e) { TreeNode selectNode = tviewBookMark.SelectedNode; // 获取选中的书签对象 ISpatialBookmark spatialBookmark = pDictionary[selectNode.Text]; // 缩放在书签所选中的范围 spatialBookmark.ZoomTo(_currentMap); IActiveView activeView = _currentMap as IActiveView; activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); }
/// <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); } } }
private void Button1_Click(object sender, EventArgs e) { TreeNode pSelectedNode = treeView1.SelectedNode; //获得选中的书签对象 ISpatialBookmark pSpatialBM = pDictionary[pSelectedNode.Text]; //缩放到选中书签的视图范围 pSpatialBM.ZoomTo(_currentMap); IActiveView pActiveView = _currentMap as IActiveView; pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); }
void tempMenu_Click(object sender, EventArgs e) { ISpatialBookmark bookmark = (sender as ToolStripMenuItem).Tag as ISpatialBookmark; if (bookmark != null) { bookmark.ZoomTo(axMapControl1.Map); //刷新地图 //axMapControl1.ActiveView.Refresh(); axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewAll, null, axMapControl1.ActiveView.Extent); } }
private void btnZoomTo_Click(object sender, EventArgs e) { //找到用户选中的 ISpatialBookmark m_BookMarks.Reset();//书签指针归零 ISpatialBookmark theBookmark = m_BookMarks.Next(); while (theBookmark != null) { if (theBookmark.Name == listView1.SelectedItems[0].Text) { //调用zoomto theBookmark.ZoomTo(m_AxMapControl.Map); m_AxMapControl.ActiveView.Refresh(); } theBookmark = m_BookMarks.Next(); } }
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(); } }
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(); } }