放大,缩小,全屏,漫游,图层加载,图层显示功能实现
来源:互联网 发布:马云 膨胀 知乎 编辑:程序博客网 时间:2024/04/30 03:02
1.新建窗体项目
打开C#,新建windows窗体项目,添加控件,ArcGIS Windows Forms:MapControl,TOCControl,
LicenseControl 和Janus WinForms Controls v4:Ribbon
2.属性关联
右击TOCControl,选择属性,将Buddy改为Mapcontrol
3.编写每个控件的功能
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;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 basic_tool{ public partial class Form1 : Form { //定义变量 private IClone pClone; private IEnvelope pEnvelope; int flag = 0; public Form1() { InitializeComponent(); } private void btn_open_mxd_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { 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 btn_zoomin_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomIn;//鼠标形状控制 flag = 2; } //缩小 private void btn_zoomout_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomOut; flag = 1; } //全屏 private void btn_full_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.Extent = axMapControl1.FullExtent;//全屏显示 } //漫游 private void btn_pan_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPan; flag = 3; } //中心放大 private void btn_zoomin_click_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomIn; pClone = axMapControl1.Extent as IClone; pEnvelope = pClone as IEnvelope; pEnvelope.Expand(0.8, 0.8, true); axMapControl1.Extent = pEnvelope; } //中心缩小 private void btn_zoomout_click_Click(object sender, Janus.Windows.Ribbon.CommandEventArgs e) { axMapControl1.MousePointer = esriControlsMousePointer.esriPointerPageZoomOut; pClone = axMapControl1.Extent as IClone; pEnvelope = pClone as IEnvelope; pEnvelope.Expand(2, 2, true); axMapControl1.Extent = pEnvelope; } //地图显示 private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { ESRI.ArcGIS.Geometry.IEnvelope ipEnv;//虚拟矩形 if (flag == 2) { ipEnv = axMapControl1.TrackRectangle();//画框放大 ipEnv = axMapControl1.Extent;//点击放大 ipEnv.Expand(0.8, 0.8, true);//放大比例,0.8为比例系数,可修改 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) { axMapControl1.Pan();//漫游 } } }}
0 0
- 放大,缩小,全屏,漫游,图层加载,图层显示功能实现
- MO 基本的图层动态添加,放大、缩小、漫游功能
- ps如何放大缩小图层
- AE开发中、放大、缩小、漫游、全图的实现
- AE开发中、放大、缩小、漫游、全图的实现
- ps 图层 缩小
- jQuery简单实现div层的放大与缩小
- VC+MapX 地图的放大,缩小,漫游,归心功能的实现
- 图层淡入淡出放大和缩小的瞬息移动效果
- PhotoView实现放大缩小功能
- VC+MO实现地图的放大,缩小和漫游
- 用定时器实现逐渐放大层的功能
- openlayer实现图层控件功能
- 自己添加放大(zoomout),缩小(zoomin),全图(fullextent),漫游(pan)
- globecontrol图层加载
- css3-animation图层放大效果
- zoom插件实现图片放大缩小功能
- ArcGIS for Android实现地图加载、放大缩小及定位功能
- 关于java中参数传递的问题
- Genymotion Unable to load VirtualBox engine
- JQueryEasyUI 组件 树形下拉框 ComboTree
- JavaScript对于Form的序列化和填充数据
- cf 760A Petr and a calendar
- 放大,缩小,全屏,漫游,图层加载,图层显示功能实现
- HashMap与Hashtable的区别
- Oracle VM Centos 网络设置
- 未来工作
- HANA集合操作之INTERSECT交集操作
- unity清理内存
- 2016年蓝桥杯省赛C/C++ A组题解(含题目)
- sed和grep, 查找全部文件并替换
- 技术大牛养成指南,一篇不鸡汤的成功学实践