一:实现功能:地图放大、缩小、漫游、全局
二:运行效果:
三:源代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Geometry; namespace lesson4 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { loadMapDocument(); } int flag = 0; //放大 private void button1_Click(object sender, EventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerZoomIn; flag = 2; } //缩小 private void button2_Click(object sender, EventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerZoomOut; flag = 1; } //漫游 private void button3_Click(object sender, EventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPan; flag = 3; } //全图 private void button4_Click(object sender, EventArgs e) { axMapControl1.Extent = axMapControl1.FullExtent ; } //加载地图文档 private void loadMapDocument() { System.Windows.Forms.OpenFileDialog openFileDialog; openFileDialog = new OpenFileDialog(); openFileDialog.Title = "打开地图文档"; openFileDialog.Filter = "map documents(*.mxd)|*.mxd"; openFileDialog.ShowDialog(); string filePath = openFileDialog.FileName; if (axMapControl1.CheckMxFile(filePath)) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerHourglass; axMapControl1.LoadMxFile(filePath, 0, Type.Missing); axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault; } else { MessageBox.Show(filePath + "不是有效的地图文档"); } } private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { ESRI.ArcGIS.Geometry.IEnvelope ipEnv; if (flag == 2) { ipEnv = axMapControl1.TrackRectangle(); axMapControl1.Extent = ipEnv; } else if (flag == 1) { //ipEnv = axMapControl1.TrackRectangle(); ipEnv = axMapControl1.Extent; ipEnv.Expand(2,2, true); axMapControl1.Extent = ipEnv; } else if (flag == 3) { ipEnv = axMapControl1.Extent; axMapControl1.Pan(); } } } }
ArcGIS Engine 开发(一)对地图放大、缩小、漫游、全局等功能
原文地址:http://blog.csdn.net/vector5210/article/details/44831019