阅读:2049回复:3
[求助]vb+mapx设置动态图层的问题!
<P>小弟初接触mapx ,关于创建动态图层很不明了。书上的例子如下</P>
<P>' 创建新的临时图层,包含 USA 图层中选择的所有<BR>' 图元<BR>Dim li as New MapXLib.LayerInfo<BR>Dim ftrs as MapXLib.Features<BR>Dim flds as MapXLib.Fields<BR>Dim ds as MapXLib.Dataset<BR>' 新表和 USA 图层具有相同的列结构<BR>Set ds = Map1.Datasets.Add (miDatasetLayer, Map1.Layers("USA"))<BR>Set flds = ds.Fields<BR>' 新表将包括 USA 图层中当前所选的全部<BR>' 图元<BR>Set ftrs = Map1.Layers.Item("USA").Selection.Clone<BR>li.Type = miLayerInfoTypeTemp<BR>li.AddParameter "Name", "USA Selections"<BR>li.AddParameter "Fields", flds<BR>li.AddParameter "Features", ftrs<BR>' 该图层在添加到图层集合时创建<BR>Map1.Layers.Add li<BR></P> <P>1。Dim li as New MapXLib.LayerInfo是创建一个新的图层,那个“new”是起什么作用,因为有些时候看到没有new?</P> <P>2。Dim ftrs as MapXLib.Features ,Dim flds as MapXLib.Fields,Dim ds as MapXLib.Dataset这几个定义的是什么东西,具体是什么意思?</P> <P>3。Set ds = Map1.Datasets.Add (miDatasetLayer, Map1.Layers("USA"))<BR>Set flds = ds.Fields 这个说为了让新表具有和usa一样的列结构,什么是列结构?我如果不要跟usa一样的列结构,又要怎么办?</P> <P>4。我只是打算新建一个动态图层,并在上面显示接收到的点并连成一条线,以上建立动态图层的每一步都是必须的吗?</P> <P>谢谢各位!<BR></P> |
|
1楼#
发布于:2007-12-02 23:17
<P>1.Dim li as New MapXLib.LayerInfo 是定义并初始化变量li,</P>
<P>等价于:Dim li as MapXLib.LayerInfo '定义变量li</P> <P> set li= new MapXLib.LayerInfo '初始化变量li</P> <P>2.Dim ftrs as MapXLib.Features ,'定义图元集合</P> <P>Dim flds as MapXLib.Fields,'定义字段集合</P> <P>Dim ds as MapXLib.Dataset '定义数据集</P> <P>3.用记事本打开usa.tab文件看看就知道是什么结构了,建议看看mapx的FIELDS的帮助</P> <P>4.设置动态图层 <BR>Set Map1.Layers.AnimationLayer = Map1.Layers(图层名) <BR> 该属性可用于确定当前哪一图层是动态图层(如有): <BR> for each lyr in Map1.Layers <BR> if Map1.Layers.AnimationLayer = lyr then ... <BR> end if <BR> next <BR> 要关闭动画图层,可以将该图层指定为空: <BR> Set Map1.Layers.AnimationLayer = nothing <BR></P> |
|
2楼#
发布于:2007-12-03 20:11
<P>谢谢楼上的!</P>
<P>看到用layerinfo创建图层上说,如果是创建miLayerInfoTypeTemp临时图层的话,Name,TableStorageType参数不是必须的,Fields和Features参数其一是必须的,</P> <P>1、是不是我可以不用定义数据集?就是不用写Dim ds as MapXLib.Dataset 这句?</P> <P>2、如果我定义了图元集合,这一句“Dim flds as MapXLib.Fields”是不是也可以不要?</P> <P>3、这样建立的临时图层对我后面在画点再连成一条线(会有一个小图标来指示)会不会有什么影响?</P> <P>4、书上说可以用CreateLayer来创建一个层,但又说不推荐这种方法,为什么?</P> <P>问题比较多,麻烦了!</P> |
|
3楼#
发布于:2007-12-05 12:33
<P>1.如果你需要表结构,就需要定义dataset</P>
<P>2.fields 跟dataset是关联的,图元集合跟fields没有关系</P> <P>3.应该不会有影响</P> <P>4.mapx老版本用CreateLayer,新版本 layerinfo</P> <P>4.</P> |
|