图层标注、图层控制和电子地图常用工具开发.doc

图层标注、图层控制和电子地图常用工具开发.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲 图层标注、图层控制和电子地图常用工具开发 一、图层标注 利用MO的标注对象LabelRenderer,可以自动添加图层上对象的标注。 1、属性标注 属性标注的方法为: Set layer.Renderer = New LabelRenderer 设置标注对象 layer.Renderer.Field = CNTRY_NAME 指定要显示的字段 layer.Renderer.AllowDuplicates = True 允许标注重复 标注语句要加在图层添加语句:Map1.Layers.Add layer的前面。 几点说明: Renderer是MapLayer的属性之一,用于设置或读取图层的着色对象。 着色对象有ClassBreaksRenderer对象,DotDensityRenderer对象,LabelRenderer对象和ValueMapRenderer对象。 其中,LabelRenderer对象描述一种表示地理特征的方法,即在一个地理特征上写字符。显示在地理特征的字符值来自一个字段的值,Field属性表示该字段的名字。AllowDuplicates属性是一个布尔值,表示是否允许在标注处多次标注同样的字符,True为允许,false为不允许。 2、设置图上字体 以上的标注是按照缺省的方式来设置的字体,还可以利用标注对象的Symbol数组,来自己动手设置更合适的字体属性。 layer.Renderer.Symbol(0).Font.Name = 隶书 layer.Renderer.Symbol(0).Font.Bold = False layer.Renderer.Symbol(0).Color = moRed layer.Renderer.Symbol(0).Font.Size = 20 以上设置的字体是固定大小,不随着图形大小的改变而改变。 layer.Renderer.Symbol(0).Height = 10 这时Height设置有优先设置权,Font.Bold和Font.Size将不起作用。 二、图层控制 1、利用check控件控制图层的显示和文字标注 用程序添加图层时,系统会自动设置图层对象的序号,最后添加的为图层0,其上为图层1,依次类推。 Option Explicit Dim dc As New DataConnection Dim layer As MapLayer Private Sub Check3_Click() Set layer = Map1.Layers(2) If Check3.Value = 0 Then layer.Visible = False Else layer.Visible = True End If Map1.Refresh End Sub Private Sub Check2_Click() Set layer = Map1.Layers(1) If Check2.Value = 0 Then layer.Visible = False Else layer.Visible = True End If Map1.Refresh End Sub Private Sub Check1_Click() Set layer = Map1.Layers(0) If Check1.Value = 0 Then layer.Visible = False Else layer.Visible = True End If Map1.Refresh End Sub Private Sub Check4_Click() Set layer = Map1.Layers(0) Set layer.Renderer = New LabelRenderer If Check4.Value = 0 Then layer.Renderer.AllowDuplicates = False Else Call Layer0Render(layer) End If Map1.Refresh End Sub Private Sub Layer0Render(layer1 As MapLayer) 重复设置LabelRenderer对象的过程 Set layer1.Renderer = New LabelRenderer layer1.Renderer.Field = NAME 指定要显示的字段 layer1.Renderer.Symbol(0).Font.Name = Times New Roman layer1.R

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档