用VB实现模拟的卫星地图上显示车辆轨迹,思路上如何做啊来谈谈自己的想法
用VB实现模拟的卫星地图上显示车辆轨迹,思路上怎么做啊,各位高手来谈谈自己的想法。
我通过Google Earth 截图拼接起来一张大图,然后准备用VB编程实现一个预定轨迹(一个车辆的运动模拟轨迹)在该图上运动,并将运动轨迹保持显示在地图的中部。
这个模型框架怎么设计啊?
我是个新手,初次接触VB,希望大家多多指教和点评。
------解决方案--------------------
模拟一下。
------解决方案--------------------
楼主的问题知道如何解决没?
参考一下我的这段代码吧:
我通过Google Earth 截图拼接起来一张大图,然后准备用VB编程实现一个预定轨迹(一个车辆的运动模拟轨迹)在该图上运动,并将运动轨迹保持显示在地图的中部。
这个模型框架怎么设计啊?
我是个新手,初次接触VB,希望大家多多指教和点评。
------解决方案--------------------
模拟一下。
- VB code
'窗体上放一个 PictureBox 和一个 Timer 控件'
Option Explicit
Private Sub Form_Load()
Dim pic As IPictureDisp
Me.ScaleMode = vbPixels
Me.WindowState = vbMaximized
Picture1.BorderStyle = vbBSNone
Picture1.Move 0, 0, 800, 600
Picture1.ScaleMode = vbPixels
Picture1.BackColor = vbBlack
Picture1.ForeColor = vbBlue
Picture1.AutoRedraw = True
Set pic = LoadPicture("C:\WINDOWS\Web\Wallpaper\Bliss.bmp")
Picture1.PaintPicture pic, 0, 0
Picture1.PSet (0, 300)
Timer1.Interval = 100
End Sub
Private Sub Timer1_Timer()
Dim dy As Long
dy = Rnd() * 20 - 10
Picture1.Line -Step(10, dy)
End Sub
------解决方案--------------------
楼主的问题知道如何解决没?
参考一下我的这段代码吧:
- VB code
' *** 窗体模块代码 *** ' 窗体名称: Form1 ' 窗体内加入 Picture1、Picture2、Timer1 Option Explicit Private objMapDisp As claCanvs Private lKeyCtrl As Long Private Sub Form_Load() On Error GoTo E_Handle Me.ScaleMode = 3 Me.Width = 320 * Screen.TwipsPerPixelX Me.Height = 260 * Screen.TwipsPerPixelY Picture1.ScaleMode = 3 Picture1.Move 6, 8, ScaleWidth - 12, ScaleHeight - 16 With Picture2 .Appearance = 0 .BorderStyle = 0 .ScaleMode = 3 .AutoSize = True .AutoRedraw = True .Visible = False ' ***** 在这里加载你的地图!!!***** .Picture = LoadPicture("E:\Picture\资料图片\世界地图_04亚洲.jpg") End With Set objMapDisp = New claCanvs Call objMapDisp.InitObj(Picture1, Picture2) Timer1.Enabled = False Timer1.Interval = 50 Timer1.Enabled = True Exit Sub E_Handle: MsgBox "程序初始化出错,将结束运行!", 48, "出错!" Unload Me End End Sub Private Sub Form_Terminate() Set objMapDisp = Nothing End End Sub Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyUp: lKeyCtrl = 1 Case vbKeyDown: lKeyCtrl = 3 Case vbKeyLeft: lKeyCtrl = 4 Case vbKeyRight: lKeyCtrl = 2 End Select End Sub Private Sub Picture1_KeyUp(KeyCode As Integer, Shift As Integer) lKeyCtrl = 0 End Sub Private Sub Timer1_Timer() Call objMapDisp.CarMove(lKeyCtrl) Call objMapDisp.Render End Sub