malk
路人甲
路人甲
  • 注册日期2006-01-17
  • 发帖数5
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1499回复:2

求助:[附源代码]

楼主#
更多 发布于:2006-02-27 17:50
<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编辑过]
喜欢0 评分0
maxzhang
路人甲
路人甲
  • 注册日期2006-03-15
  • 发帖数3
  • QQ
  • 铜币111枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-03-24 17:15
好象carx,cary未赋值
举报 回复(0) 喜欢(0)     评分
iamcarrot_0
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数17
  • QQ
  • 铜币167枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-03-26 17:43
<P>是不是没刷新?</P>
<P>refresh</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部