阅读:1937回复:4
紧急求救:图层控制问题
我使用MO+VB开发系统,当我用zoomfactor控制图层后,我的legend(MO的legend)就失效了,无法控制图层。请大家指教!谢谢!
|
|
1楼#
发布于:2004-08-03 08:34
<P>贴出来看看了</P>
|
|
|
2楼#
发布于:2004-08-06 10:08
<P>to:gis 我的源码如下:</P><P>Private Sub Map_BeforeLayerDraw(ByVal index As Integer, ByVal hDC As stdole.OLE_HANDLE)
' zoomFactor is the ratio of the current extent ' to the fullExtent zoomFactor = frmMapDisp.Map.Extent.Width / frmMapDisp.Map.FullExtent.Width '用于循环 Dim i As Integer Dim j As Integer ' '存储图层名 Dim strLyrName As String</P><P>'获得图层名并进行控制性显示 For i = 0 To frmMapDisp.Map.Layers.Count - 1 strLyrName = frmMapDisp.Map.Layers(i).Name Select Case strLyrName Case "政府辖区" frmMapDisp.Map.Layers("政府辖区").Visible = zoomFactor > 0.4 Case "警务辖区" ' frmMapDisp.Map.Layers("警务辖区").Visible = zoomFactor > 0.4 Case "绿化地" frmMapDisp.Map.Layers("绿化地").Visible = zoomFactor < 0.3 Case "建筑区" frmMapDisp.Map.Layers("建筑区").Visible = zoomFactor < 0.1 Case "道 路" frmMapDisp.Map.Layers("道路").Visible = zoomFactor < 0.1 Case "道路中心线" frmMapDisp.Map.Layers("道路中心线").Visible = zoomFactor < 0.1 Case "铁路" frmMapDisp.Map.Layers("铁路").Visible = zoomFactor < 0.3 Case "桥梁" frmMapDisp.Map.Layers("桥梁").Visible = zoomFactor < 0.3 Case "火车站" frmMapDisp.Map.Layers("火车站").Visible = zoomFactor < 0.3 Case Else frmMapDisp.Map.Layers(i).Visible = zoomFactor < 0.05 End Select Next i</P><P>end sub</P> |
|
3楼#
发布于:2004-08-06 10:37
可能放在Map_BeforeLayerDraw才有这问题,你可以看看放在其他过程里行不行
|
|
|
4楼#
发布于:2004-08-06 11:25
放在其他地方也是一样的效果
|
|