- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【2017年整理】电子地图常用工具开发
第四讲电子地图常用工具开发
一、使用指示图
1、在指示窗口中改变主窗口大小
使用如下示例代码,可以在小窗口中点击移动大窗口位置,还可以画方框改变大窗口的大小。
Private Sub Map2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim kuang As New MapObjects2.Rectangle
Dim pt As New MapObjects2.Point
Set kuang = Map2.TrackRectangle
Set Map1.Extent = kuang
Set pt = Map2.ToMapPoint(X, Y)
Map1.CenterAt pt.X, pt.Y
End Sub
几点说明:
(1)Rectangle对象描述矩形的特征,即具有四条边和四个直角的几何形状。
(2)Point对象表示一个点的地理形状,可以通过Point的X, Y属性修改得到它的地理位置坐标值。
(3)Map控件的几个用到的成员函数:CenterAt将当前的显示范围中心移动到指定的中心,语法为object.CenterAt x, y;ToMapPoint是将点的位置从以屏幕坐标表示转换为以地图坐标表示,语法为Set variable = object.ToMapPoint( xControl, yControl)。
2、在指示窗口中拖动方框
要实现在指示窗口中拖动方框的功能,程序非常复杂,但是MO中提供了类模块DragFeedback,只要在工程中添加类模块DragFeedback就可以了。其中类模块DragFeedback在MO安装不全的情况下是不存在的,可以在程序中加入。
示例代码见附录。
二、属性显示
在电子地图系统中,常常要查询地图上对象的属性,这时就需要属性显示的程序设计方法了。
1、显示一个区的属性
添加控件Map1和ListView1,并且设置ListView1的View属性为3。并添加如下代码实现区域属性的显示。
Option Explicit
Dim p As Point
Dim recs As Recordset
Dim fld As Field
Dim l As MapLayer
Private Sub Form_Load()
初始化ListView1的ColumnHeaders属性
Set col = ListView1.ColumnHeaders.Add()
col.Text = Field
Set col = ListView1.ColumnHeaders.Add()
col.Text = Value
加载地图数据
Dim dc As New DataConnection
dc.Database = App.Path + \..\ + world
If Not dc.Connect Then End
Dim layer As MapLayer
Set layer = New MapLayer
Set layer.GeoDataset = dc.FindGeoDataset(country)
layer.Symbol.Color = 4636724
Map1.Layers.Add layer
End Sub
?
Private Sub Map1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
获得地图对象,country即为Layers对象counts属性的名称,也可以以索引号代替
Dim newitem As Object
Set l = Map1.Layers(country)
ToMapPoint是Map控件的成员函数之一,表示将点的位置从以屏幕坐标转换为以地图坐标系坐标表示,语法为Set variable = object.ToMapPoint( xControl, yControl),variable是以地图坐标系表示的点位置,xControl, yControl是屏幕坐标的值。
Set p = Map1.ToMapPoint(x, y)
建立一个Recordset查找,语法为Set variable = object.SearchShape( shape, searchMethod, expression );该函数是MapLayer对象的一个函数,返回值是图层地理特征的子集,即Recordset对象。Expression为逻辑条件表达式,一般为空。
Set recs = l
您可能关注的文档
- 【2017年整理】电子合同是促使制造业电商化的关键要素.doc
- 【2017年整理】电子合同是促使烟草制造业电商化的关键要素.doc
- 【2017年整理】电子合同是促使制造企业电商化的关键要素.doc
- 【2017年整理】电子合同是促使纺织企业电商化的关键要素.doc
- 【2017年整理】电子合同是促使造纸业电商化的关键要素.doc
- 【2017年整理】电子合同是促使金属业电商化的关键要素.doc
- 【2017年整理】电子合同服务提供商为电子合同的有效性保驾护航.doc
- 【2017年整理】电子合同法律效力.docx
- 【2017年整理】电子合同解析及电子合同法确立的必要性.doc
- 【2017年整理】电子合同是促使餐饮业电商化的关键要素.doc
最近下载
- 质子治疗与护理.pptx
- 李清照《声声慢》完整教学课件.ppt VIP
- DL-T5210-2021电力建设施工质量验收及评价规程最新表格.docx
- 在线网课学习课堂《雷达原理》单元测试考核答案.docx VIP
- 《工程勘察设计收费标准》2002年修订本完整.pdf VIP
- 服装行业智能化产业生态构建策略研究:2025年现状与未来五到十年展望.docx
- SCIP准备和提交教程.pdf VIP
- 在线网课学习课堂《雷达原理与系统(中国人民解放军战略支援部队信息工程)》单元测试考核答案.docx VIP
- 城市轨道交通调度指挥:列车运行计划及列车运行图PPT教学课件.pptx
- 社会影响力投资手册.pdf
原创力文档


文档评论(0)