- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MapXVB上机练习
MapX+VB
第一部分 地理信息系统的基本功能
主要内容:
1、掌握MapInfo MapX 控件的加载,Map对象生成;
2、了解地图对象及图层属性;
3、掌握图层的加载方法;
4、掌握图层的删除方法;
一、MapInfo MapX 控件的加载
第一步:运行VB、新建工程,并保存;
第二步:加载MapX控件,点击工程菜单—部件,在控件对话框中选择MapInfo MapX V5;
第三步:创建一个Map对象;
二、地图对象及图层属性
1、图层对象的属性设置
①设置图层是否可见;
②设置是否替代图层样式;
③设置图层是否自动标注;
2、图层管理(删除、添加、调整显示顺序);
3、了解图层集合的count属性;
例如:
第一:新建一个按钮对象,将caption(标题)修改为“显示所有图层名称”;
第二:双击按钮对象;
第三:在子程序中输入:
Dim x As Integer
For x = 1 To Map1.Layers.Count
Print Map1.Layers(x).Name
Next
第四:运行程序;点击按钮;
4、利用标准工具,实现对地图放大、缩小和平移等操作;
练习一:
1、在VB中,新建“地图浏览”工程,并保存到U盘;
2、创建一个Map对象,显示“United Kingdom”地图;
3、修改图层1、图层4的显示样式;
4、新建3个按钮,点击按钮,分别实现对地图的放大、缩小和平移操作;
4、编写代码,实现当点击“显示所有图层名称”按钮后,在屏幕上显示所有图层名称的功能;
三、图层的加载
(一)创建新图层
第一:点击查看代码窗口;
第二:在form_load子程序中输入下面的代码:
Dim lyr As Layer
Set lyr = Map1.Layers.CreateLayer(temporary,e:\aa.tab)
第三:运行程序;
练习二:
当窗体载入时,新建图层名为province的图层,并将其保存到E盘根目录下,文件名为:prv。
(二)用add方法添加已有图层
第一步:先将USA的所有图层删除;
第二步:在窗体加载事件下输入以下代码:
Map1.Layers.Add c:\program files\MapInfo\MapX 5.0\Maps\USCTY_20.TAB
第三步:运行程序;
练习三:
首先删除United Kingdom地图中的Europe图层,然后编写代码实现,当点击“显示欧洲”按钮时,显示Europe图层。
四、图层的删除
1、remove—删除单个图层
第一:新建map对象;
第二:点击“查看代码”;
第三:在窗体加载子程序中输入代码:
Map2.Layers.Remove (1)
第四:运行程序;
2、removeall—删除所有图层
第一:新建map对象;
第二:点击“查看代码”;
第三:在窗体加载子程序中输入代码:
Map2.Layers.Removeall
第四:运行程序;
第二部分 绘图功能开发
第一:加载工具条控件;
(工程—部件—Microsoft windows common controls 5.0)
第二:新建工具条对象;
第三:点击工具条对象右键,在buttons选项卡中插入需要的六个工具,并修改其caption(标题)为箭头、选择工具、绘制点、绘制直线、绘制折线、绘制面;
第四:双击工具条对象;
第五:在子程序中输入:
Select Case Button.Index
Case 1
Map1.CurrentTool = miArrowTool
Case 2
Map1.CurrentTool = miSelectTool
Case 3
Map1.Layers.CreateLayer (Temp1)
Map1.Layers.Item(temp1).Editable = True
Set Map1.Layers.InsertionLayer = Map1.Layers.Item(temp1)
Map1.CurrentTool = miAddPointTool
Case 4
Map1.Layers.CreateLayer (Temp2)
Map1.Layers.Item(temp2).Editable = True
Set Map1.Layers.InsertionLayer = Map1.Layers.Item(temp2)
Map1.CurrentTool = miAddLineTool
Case 5
Map1.Layers.CreateLayer (Temp3)
Map1.Layers.Item(temp3).Editable = True
Set Map1.Layers.InsertionLayer = Map1.Lay
文档评论(0)