Mapx自带了很多工具,可以轻松实现mi中很多的功能。但一进入具体应用,仍然有很多的问题。
1、能直接用的:选择,缩放
2、稍微加点东西的:四种加入工具:miAddPointTool,miAddLineTool,miAddPolylineTool,miAddRegionTool。它们在使用时需要说明插入层:
Set Map1.Layers.InsertionLayer = Map1.Layers.Item("标注")
3、其实没有用的:miSymboltool,miTexttool等,都是往Annotations层上加的东西,无法被修改,无法被保存。
对于点、线、面、文字都可以修改样式。可以对层,也可以对图元。以前都是用的对层的修改,无法保存。
Set sty = Map1.Layers.Item("标注").Style.Clone
sty.PickLine
Set Map1.Layers.Item("标注").Style = sty
Map1.Layers.Item("标注").OverrideStyle =
True
4、如果要对图元修改样式,就可以把样式具体到每一个图元,而且可以保存,一般代码是:
Map1.Layers.Item("标注").OverrideStyle =
False
Set sty = gFtr.Style.Clone
sty.PickLine
Set gFtr.Style = sty
gFtr.Update
5、对于文本,由于不能直接使用miTexttool,所以采用间接的方式,弹出对话框询问文字内容,再用FeatureFactory创建。
sss = InputBox("请输入要添加的文字?")
If sss <> "" Then
Dim txtftr As Feature
Dim pt As New MapXLib.Point
pt.Set Map1.CenterX, Map1.CenterY
Set txtftr = Map1.FeatureFactory.CreateText(pt, sss)
txtftr.Attach Map1
Set txtftr = Map1.Layers.Item("标注").AddFeature(txtftr)
Map1.Layers.Item("标注").Selection.SelectByID txtftr.FeatureID, 0
End If