阅读:1830回复:2
在一个Map1中,如何同时显示多个图层?
在一个Map1中加载两个图层(pat文件),如何使他们同时显示(可为不同颜色)?
|
|
1楼#
发布于:2004-01-04 14:49
直接加载就会自动赋予不同滴颜色的,也可以自己设定
|
|
2楼#
发布于:2004-01-04 15:36
但是上面的颜色覆盖了下面的图层的颜色,下面的图层根本看不见。如何?
|
|
3楼#
发布于:2004-01-04 21:11
如果是透明的话那就是无色吧?呵呵,在mo可以设置透明
|
|
4楼#
发布于:2004-01-05 15:07
不能同时显示两个图层,请教应如何修改?
我是想加载两个图层,其中下面的一个图层完整显示,而上面的图层只显示轮廓(比如:下面是该市的人口分布图层,上面是该市的行政区划,终端用户便可知某行政区划的人口是多少了)。如何实现?
(pat 文件) 请阅读下面的代码:结果还是不能同时显示两个图层,请教应如何修改? '显示地理数据 Set conn = New ADODB.Connection conn.Open "dsn=agrogis" Set rs = New ADODB.Recordset Dim I lyr.Symbol.Style = moSolidFill dc.Database = "[ARC]D:\agrgis\maps\gsfxdx" If dc.Connect Then Set lyr.GeoDataset = dc.FindGeoDataset("DX0301.PAT") Map1.Layers.Add lyr Else MsgBox "Connection failed" End If Set lyr = Map1.Layers("DX0301.PAT") Set lyr.Renderer = New valueMapRenderer lyr.Renderer.SymbolType = moFillSymbol lyr.Renderer.Field = "value" ' set the values rs.Open "select Name,RR,GG,BB from 地形", conn, adOpenStatic, adLockOptimistic lyr.Renderer.valueCount = rs.RecordCount rs.MoveFirst For I = 0 To lyr.Renderer.valueCount - 2 lyr.Renderer.value(I) = rs!Name rs.MoveNext Next I rs.MoveLast lyr.Renderer.value(lyr.Renderer.valueCount - 1) = rs!Name rs.MoveFirst For I = 0 To lyr.Renderer.valueCount - 2 lyr.Renderer.Symbol(I).Color = RGB(rs!RR, rs!GG, rs!BB) rs.MoveNext Next I rs.MoveLast lyr.Renderer.Symbol(lyr.Renderer.valueCount - 1).Color = RGB(rs!RR, rs!GG, rs!BB) rs.Close Set rs = Nothing '显示行政区划 Dim sym dc.Database = "[ARC]D:\agrgis\maps\GSFXXJ" If Not dc.Connect Then End Set lyr.GeoDataset = dc.FindGeoDataset("XJ0301.pat") Map1.Layers.Add lyr Set lyr = Map1.Layers("XJ0301.pat") lyr.Symbol.Style = moTransparentFill lyr.Symbol.OutlineColor = moRed Set lyr.Renderer = New LabelRenderer lyr.Renderer.Field = "NAME" [此贴子已经被作者于2004-1-5 15:12:47编辑过]
|
|
5楼#
发布于:2004-01-05 16:09
怎么会不能?只要设置为透明就行,好象没什么问题
lyr.Symbol.Outline = True lyr.Symbol.Style = moTransparentFill lyr.Symbol.size = 1 lyr.Symbol.OutlineColor = RGB(177, 222, 120) |
|