欢迎来到天天文库
浏览记录
ID:16440346
大小:40.00 KB
页数:17页
时间:2018-08-09
《图层标注、图层控制和电子地图常用工具开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、图层标注、图层控制和电子地图常用工具开发第三讲图层标注、图层控制和电子地图常用工具开发一、图层标注利用MO的标注对象LabelRenderer,可以自动添加图层上对象的标注。1、属性标注属性标注的方法为:Setlayer.Renderer=NewLabelRenderer'设置标注对象layer.Renderer.Field="CNTRY_NAME"'指定要显示的字段layer.Renderer.AllowDuplicates=True'允许标注重复标注语句要加在图层添加语句:Map1.Layers.Addlayer的前面。几点说明:Renderer是MapLayer的属性之一,用
2、于设置或读取图层的着色对象。着色对象有ClassBreaksRenderer对象,DotDensityRenderer对象,LabelRenderer对象和ValueMapRenderer对象。其中,LabelRenderer对象描述一种表示地理特征的方法,即在一个地理特征上写字符。显示在地理特征的字符值来自一个字段的值,Field属性表示该字段的名字。AllowDuplicates属性是一个布尔值,表示是否允许在标注处多次标注同样的字符,True为允许,false为不允许。2、设置图上字体以上的标注是按照缺省的方式来设置的字体,还可以利用标注对象的Symbol数组,来自己动手设置
3、更合适的字体属性。layer.Renderer.Symbol(0).Font.Name="隶书"layer.Renderer.Symbol(0).Font.Bold=Falselayer.Renderer.Symbol(0).Color=moRedlayer.Renderer.Symbol(0).Font.Size=20以上设置的字体是固定大小,不随着图形大小的改变而改变。layer.Renderer.Symbol(0).Height=10这时Height设置有优先设置权,Font.Bold和Font.Size将不起作用。二、图层控制1、利用check控件控制图层的显示和文字标注用
4、程序添加图层时,系统会自动设置图层对象的序号,最后添加的为图层0,其上为图层1,依次类推。OptionExplicitDimdcAsNewDataConnectionDimlayerAsMapLayerPrivateSubCheck3_Click()Setlayer=Map1.Layers(2)IfCheck3.Value=0Thenlayer.Visible=FalseElselayer.Visible=TrueEndIfMap1.RefreshEndSubPrivateSubCheck2_Click()Setlayer=Map1.Layers(1)IfCheck2.Value=
5、0Thenlayer.Visible=FalseElselayer.Visible=TrueEndIfMap1.RefreshEndSubPrivateSubCheck1_Click()Setlayer=Map1.Layers(0)IfCheck1.Value=0Thenlayer.Visible=FalseElselayer.Visible=TrueEndIfMap1.RefreshEndSubPrivateSubCheck4_Click()Setlayer=Map1.Layers(0)Setlayer.Renderer=NewLabelRendererIfCheck4.Valu
6、e=0Thenlayer.Renderer.AllowDuplicates=FalseElseCallLayer0Render(layer)EndIfMap1.RefreshEndSubPrivateSubLayer0Render(layer1AsMapLayer)'重复设置LabelRenderer对象的过程Setlayer1.Renderer=NewLabelRendererlayer1.Renderer.Field="NAME"'指定要显示的字段'layer1.Renderer.Symbol(0).Font.Name="TimesNewRoman"layer1.Rendere
7、r.Symbol(0).Font.Bold=False'缺省为Truelayer1.Renderer.Symbol(0).Color=moBlacklayer1.Renderer.Symbol(0).Font.Size=8layer1.Renderer.AllowDuplicates=TrueEndSubPrivateSubLayerSet()Setlayer=NewMapLayerSetlayer.GeoDataset=dc.FindGeoDataset("stat
此文档下载收益归作者所有