阅读:1678回复:2
求助:[附源代码]
<P>我想从数据库里读取数据(如经度纬度)后,将某一图元(如车辆)加载到这一点,用的是VB+MapX+SQL Server,用ToolUsed事件可以,用控件按钮点击时就不行了,请大家指点指点,一下是源代码:</P>
<P>Private Sub ShowCar_Click()</P> <P> Dim carx As Double '车辆经度/纬度坐标<br> Dim cary As Double<br> Dim cnn As ADODB.Connection '数据库定义<br> Dim rst As ADODB.Recordset<br> Dim connectstring As String<br> Dim strSQL As String<br> 'Create a temporary layer and make it the animation layer.<br> Set lyrMyLayer = Map1.Layers.CreateLayer("Cars", , 1)<br> Set Map1.Layers.AnimationLayer = lyrMyLayer<br> lyrMyLayer.LabelProperties.Overlap = True<br> '打开数据库联接<br> connectstring = "driver={SQL Server};Server=127.0.0.1;uid=sa;pwd=123456;database=GIS"<br> Set cnn = New ADODB.Connection<br> cnn.Open connectstring '打开数据库,以便rst操作数据库<br> strSQL = "select * from NewestInfo "<br> Set rst = New ADODB.Recordset<br> rst.Open Trim$(strSQL), cnn, adOpenKeyset, adLockOptimistic<br> rst.MoveFirst<br>carx = rst("Longitude")<br>cary = rst("Latitude")</P> <P>rst.MoveNext</P> <P>Dim fNewSymbol As mapxlib.Feature<br>Dim fMapSymbol As mapxlib.Feature<br>Dim pt As New Point<br>Dim NewStyle As mapxlib.Style<br>Set NewStyle = New mapxlib.Style<br>With NewStyle<br>.SymbolType = miSymbolTypeBitmap<br>.SymbolBitmapSize = 24<br>.SymbolBitmapTransparent = True<br>.SymbolBitmapName = "FIRE1-32.BMP" ' 图元名称<br>End With<br>pt.Set carx, cary<br>Set fNewSymbol = Map1.FeatureFactory.CreateSymbol(pt, NewStyle)<br>Set fMapSymbol = lyrMyLayer.AddFeature(fNewSymbol)</P> <P>End Sub<br></P> [此贴子已经被作者于2006-2-27 17:54:17编辑过]
|
|
1楼#
发布于:2006-03-26 17:43
<P>是不是没刷新?</P>
<P>refresh</P> |
|
2楼#
发布于:2006-03-24 17:15
好象carx,cary未赋值
|
|