- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ArcGISEngine二次开发基础篇
ArcGIS Engine二次开发
——基础篇
ArcGIS Engine二次开发rcGIS Engine地图显示程序
这个例子将引导您创建第一个简单的地图显示程序,并添加基本的缩放和漫游功能。如果您之前没有接触过ArcGIS Engine的开发,那么这个例子是您迈入ArcGIS Engine二次开发大门的极好例子,将从零开始引导您一步一步完成任务。
首先打开Microsoft Visual Studio 2005,点击菜单栏中的“文件”—“新建”—“项目”,在弹出的对话框中选择新建一个Visual 的Windows应用程序,之后更改项目名称为“”,更改文件的路径为个人实习文件夹,点击“确定”即可。
图 1新建项目对话框
选中项目“地图浏览”中的窗体“Form1”,修改其Name属性为“MainForm”,Text属性为“地图浏览”,
图 2窗体命名
添加控件及引用
点击编译器最左侧的“工具箱”,在弹出的选择项中找到“ArcGIS Windows Forms”项,单击其中的MapControl,之后在Form1的空白处单击鼠标左键不放并拖拽鼠标,直到调整MapControl到合适的大小再松开鼠标(您也可以直接在工具箱中双击MapControl,该控件则会自动加入到Form1中)。用同样的方法,再将LicenseControl添加到Form1中。
图 3 打开工具箱
图 4工具箱
如果您在工具箱中找不到MapControl,则请依次尝试以下两种解决方案。首先单击工具栏,待工具箱弹出之后,在工具箱的任意位置上单击鼠标右键,从弹出菜单中选择“重置工具箱”。如果这一步操作之后仍然无法看到MapControl,则在工具箱的任意位置上单击鼠标右键,找到“常规”选项卡,然后在“常规”选项卡上单击鼠标右键,在弹出菜单中单击“选择项(I)…”,在弹出的对话框中找到“LicenseControl”和“MapControl”,将这两项前的复选框打上勾,最后点击确定即可(如果在“.NET Framework组件”这个面板中找不到这两项,则选择“COM 组件”面板,在“ESRI LicenseControl”和“ESRI MapControl”前面打勾)。
图 5重置工具箱
图 6选择项
图 7选择工具箱项
图 8选择工具箱项
添加好MapControl和LicenseControl之后,调整Form1和MapControl的位置与大小,如下图所示:
图 9窗体布局
添加地图
在MapControl上单击鼠标右键,选择“属性”,则会弹出MapControl的属性设置面板,在之前也介绍过,通过这个面板可以完成许多简单的工作。
如图所示,点击“Map”面板,之后点击按钮,在弹出的对话框中选择,再在此路径下选择“bou2_4p”,点击“Open”。之后在MapControl的属性页上点击“确定”即可。
图 10“Map”面板
至此,我们已经完成了一个最简单的地图显示程序。.点击“启动调试”按钮(或者在“调试”菜单下选择相应命令,或者按键盘的F5键),可以得到如下的运行结果。
图 11初次运行结果
添加代码
我们没有书写任何代码,就得到了一个最简单的地图显示程序。但这个程序还不能与用户交互,下一步我们需要添加一些代码,让程序能响应用户的鼠标,完成放大和全图显示的功能。
选中MapControl控件,单击属性窗口中的事件按钮,可以看到MapControl控件能够响应的所有事件(关于每个事件的详细使用方法等请参见帮助系统“OnMouseDown”事件“OnMouseDown”事件下一步就需要在这个事件中添加响应鼠标的相关代码。
图 12 MapControl控件支持的所有方法
请您在axMapControl1的OnMouseDown事件中添加代码
private void axMapControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
{
if (e.button == 1)
this.axMapControl1.Extent = this.axMapControl1.TrackRectangle();
else if (e.button == 2)
this.axMapControl1.Extent = this.axMapControl1.FullExtent
您可能关注的文档
最近下载
- 金田jt330n变频器参数设置调试故障代码资料2.1.pdf VIP
- 信息检索与运用PPT课件(共8章)第五章 琳琅满目的“文献超市”----文献数据库检索.pptx VIP
- 中职语文职业模块高教版(2023)合集.docx
- 八项规定知识测试题库带答案版 (2).docx VIP
- 7.2 维护国家统一 说课稿-2024-2025学年统编版道德与法治九年级上册.docx VIP
- 新22J07 室外工程-标准图集.docx VIP
- 住建部交通部水利部监理合同范本7篇.docx
- 《HJ-T412环境标志产品技术要求 预拌混凝土》.pdf
- 中国知网--CNKI数据库检索使用培训.ppt
- 部编版九年级上册道德与法治 7.2维护国家统一.pptx VIP
文档评论(0)