阅读:4043回复:8
标注问题*** 标注的方式有以下几种: 自动标注。Map1.Layers("label").AutoLabel = True 删除时: Map1.Layers("label").AutoLabel = False 2. 用户自定义标注。鼠标点击方式:Map1.CurrentTool = miLabelTool 输入坐标方式:LabelAtPoint (x, y) 删除时: Map1.Layers("label").ClearCustomLabels 但是,鼠标点击位置以及(x,y)坐标值需要在点上,线上,面上。 3. 在drawuserlayer上自己画。 注意: 1.通过LabelProperties可以定义作标注的字段以及标注样式。 但是要注意首先要将图层加入到Datasets中。使用程序如下: Dim DS As Dataset Dim Temp As MapXLib.Field Dim lbp As MapXLib.LabelProperties Dim lyr As MapXLib.Layer Set lyr=map1.layers.item(1) Set DS = Map1.Datasets.Add(6,lyr) Set lbp = DS.Layer.LabelProperties Set lbp.Dataset = DS Set Temp = DS.Fields("GEOname") '设置标注字段 Set lbp.DataField = Temp lbp.Visible = True lbp.Position = miPositionBC lbp.Overlap = True lbp.Offset = 5 lbp.LineType = 2 Map1.Layers("label").AutoLabel = True 2.用Dataset对象的AddField方法来创建用于标注的表达式。 3.注意Layer.DrawLayerAfter的使用。 |
|
|
2楼#
发布于:2004-09-08 17:09
<img src="http://www.gisempire.com/bbs/Skins/default/topicface/face3.gif"><img src="http://www.gisempire.com/bbs/Skins/default/topicface/face15.gif">
|
|
3楼#
发布于:2004-09-08 20:36
<P><img src="images/post/smile/dvbbs/em01.gif" /></P><img src="images/post/smile/dvbbs/em08.gif" />
|
|
|
4楼#
发布于:2004-09-09 08:22
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
5楼#
发布于:2004-10-07 18:38
<P>非常棒!!!</P>
|
|
6楼#
发布于:2005-09-07 09:41
<img src="images/post/smile/dvbbs/em05.gif" />
|
|
7楼#
发布于:2006-01-20 16:00
<img src="images/post/smile/dvbbs/em05.gif" />
|
|
8楼#
发布于:2006-10-23 21:22
<P>怎么更改标注的字体类型和大小呢?</P>
|
|
9楼#
发布于:2007-01-11 00:01
<DIV class=quote><B>以下是引用<I>bynine</I>在2006-10-23 21:22:54的发言:</B><BR>
<P>怎么更改标注的字体类型和大小呢?</P></DIV> <P> <P>不知楼上是修改单个还是整个图层的标注信息。</P> <P>1.如果是单个标注,MapX5.02提供了CMapXLabel对象,可以通过该对象的方法修改;通过激发LabelChange消息获取要修改的label</P> <P>2.如果是整个图层的标注,可以利用CMapXLabelProperties对象修改。</P> |
|