Option Explicit
Dim xDown As Double
Dim yDown As Double
Dim HisBeginFlag As Boolean
Dim Lyr As MapXLib.Layer
Dim LayerInfo As New MapXLib.LayerInfo
Dim Flds As New MapXLib.Fields
Dim Icount As Integer
Dim Angle() As Double
Dim RecordTime() As Date
Dim StopFlag As Boolean
Dim TempPnt As New Point
Dim DisTemp As Double
Dim DisSum As Double
Private Sub Form_Load()
Dim strsql As String
Dim i As Integer
Dim ResShowVehicle As ADODB.Recordset
'On Error Resume Next
Set ResShowVehicle = New ADODB.Recordset
strsql = "select * from mapinfo where mapname='" & cSelectMapName & "'"
If CreateRecordSetbySQL_Tempdb(ResShowVehicle, strsql) Then
If Not (ResShowVehicle.BOF And ResShowVehicle.EOF) Then
fZoom = ResShowVehicle.Fields("zoom"
fCenterX = ResShowVehicle.Fields("fcenterx"
fCenterY = ResShowVehicle.Fields("fcentery"
End If
End If
Set ResShowVehicle = Nothing
txtVehicle.Text = FrmHistory.cboVehicle.Text
txtMap.Text = FrmHistory.cboMap.Text
txtStart.Text = FrmHistory.txtYear(0) + "-" + FrmHistory.txtMonth(0) + "-" + FrmHistory.txtDay(0) + " " + FrmHistory.txtHour(0) +
":" + FrmHistory.txtMinute(0) + ":00"
txtEnd.Text = FrmHistory.txtYear(1) + "-" + FrmHistory.txtMonth(1) + "-" + FrmHistory.txtDay(1) + " " + FrmHistory.txtHour(1) + ":" +
FrmHistory.txtMinute(1) + ":00"
HistoryMap.CreateCustomTool CreateCJTool, miToolTypePoly, miCrossCursor
'设置默认工具
HistoryMap.CurrentTool = miArrowTool
HistoryMap.MapUnit = miUnitMeter
HistoryMap.Geoset = IIf(Right(cSelectMapPath, 1) = "/", cSelectMapPath, cSelectMapPath & "/" + cSelectMapName
HistoryMap.Zoom = fZoom
HistoryMap.CenterX = fCenterX
HistoryMap.CenterY = fCenterY
TxtDataTime.Text = CStr(Year(Date)) + "年" + CStr(Month(Date)) + "月" + CStr(Day(Date)) + "日" + " " + CStr(Hour(Time)) + "时" +
CStr(Minute(Time)) + "分" + CStr(Second(Time)) + "秒"
StopFlag = False
Toolbar1.Buttons(10).Enabled = False
Toolbar1.Buttons(11).Enabled = False
TimerShowMap.Interval = Slider.Value * 50
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'清除临时图层
Dim i As Integer
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set Flds = Nothing
Set LayerInfo = Nothing
End Sub
Private Sub Form_Resize()
If Me.WindowState = 1 Then Exit Sub
HistoryMap.Height = Me.ScaleHeight - 300 - frFrame.Height
HistoryMap.Width = Me.ScaleWidth
HistoryMap.Left = Me.ScaleLeft
frFrame.Width = Me.ScaleWidth
StatusBar.Panels(1).Width = 350
StatusBar.Panels(2).Width = (Me.ScaleWidth - 400) / 10 * 4
StatusBar.Panels(3).Width = (Me.ScaleWidth - 400) / 10 * 3.5
StatusBar.Panels(4).Width = (Me.ScaleWidth - 400) / 10 * 2.5
Picture1.Top = Me.ScaleHeight - 330
Picture1.Left = Me.ScaleLeft + 100
End Sub
Private Sub HistoryMap_DblClick()
If HistoryMap.CurrentTool = CreateCJTool Then
HistoryMap.CurrentTool = miArrowTool
MsgBox "距离:" & CStr(DisSum) & " 米", vbOKOnly + vbInformation, "测距结果"
StatusBar.Panels(3).Text = ""
HisBeginFlag = False
End If
End Sub
Private Sub HistoryMap_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
'测距
If HistoryMap.CurrentTool = CreateCJTool And Button = vbLeftButton Then
HistoryMap.MapUnit = miUnitMeter
HistoryMap.ConvertCoord x, y, xDown, yDown, miScreenToMap
HisBeginFlag = True
DisTemp = DisSum 'distemp变量记录历史长度
End If
End Sub
Private Sub HistoryMap_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim xx As Double, yy As Double
Dim MapCoordX As Double, MapCoordY As Double
HistoryMap.ConvertCoord x, y, MapCoordX, MapCoordY, miScreenToMap
If HistoryMap.CurrentTool = CreateCJTool And HisBeginFlag = True Then
DisSum = DisTemp + HistoryMap.Distance(xDown, yDown, MapCoordX, MapCoordY)
StatusBar.Panels(3).Text = "距离:" & CStr(DisSum) & "米"
End If
HistoryMap.ConvertCoord x, y, xx, yy, miScreenToMap
StatusBar.Panels(2).Text = "经度: " & CStr(Round(xx, 4)) & " " & "纬度: " & CStr(Round(yy, 4))
End Sub
Private Sub Slider_Click()
If Slider.Value <> 0 Then
Slider.ToolTipText = "回放速度:" & Slider.Value * 10 & "倍"
TimerShowMap.Interval = Slider.Value * 10
End If
End Sub
Private Sub TimerTime_Timer()
TxtDataTime.Text = CStr(Year(Date)) + "年" + CStr(Month(Date)) + "月" + CStr(Day(Date)) + "日" + " " + CStr(Hour(Time)) +
"时" + CStr(Minute(Time)) + "分" + CStr(Second(Time)) + "秒"
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim i As Integer
Select Case Button.Key
Case "fullmap"
HistoryMap.Bounds = HistoryMap.Layers.Bounds
Case "zoomin"
HistoryMap.CurrentTool = miZoomInTool
Case "zoomout"
HistoryMap.CurrentTool = miZoomOutTool
Case "pan"
HistoryMap.CurrentTool = miPanTool
Case "cj"
HistoryMap.CurrentTool = CreateCJTool
DisSum = 0
Case "default"
HistoryMap.CurrentTool = miArrowTool
Case "start"
If StopFlag Then
TimerShowMap.Enabled = True
Toolbar1.Buttons(10).Enabled = True
Toolbar1.Buttons(11).Enabled = True
Toolbar1.Buttons(9).Enabled = False
Else
Call BackPutHistoryLocus
End If
Case "pause"
TimerShowMap.Enabled = False
Toolbar1.Buttons(9).Enabled = True
Toolbar1.Buttons(10).Enabled = False
StopFlag = Not StopFlag
Case "stop"
TimerShowMap.Enabled = False
Toolbar1.Buttons(10).Enabled = False
Toolbar1.Buttons(11).Enabled = False
Toolbar1.Buttons(9).Enabled = True
Case "clear"
TimerShowMap.Enabled = False
'清除临时图层
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set Flds = Nothing
Set LayerInfo = Nothing
Case "exit"
Unload Me
End Select
End Sub
Private Sub BackPutHistoryLocus() '回放历史轨迹
Dim ExistFlag As Boolean
Dim i As Integer
Dim TempLyr As MapXLib.Layer
On Error GoTo aa:
'判断临时图层是否存在
ExistFlag = False '不存在
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
ExistFlag = True '存在
i = HistoryMap.Layers.Count + 1
End If
Next i
If Not ExistFlag Then '不存在,新建临时图层
'创建临时图层
Flds.AddStringField "ID", 12
LayerInfo.Type = miLayerInfoTypeTemp
LayerInfo.AddParameter "NAME", "TempLayer"
LayerInfo.AddParameter "Fields", Flds
Set Lyr = HistoryMap.Layers.Add(LayerInfo, 1)
Else
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set LayerInfo = Nothing
'创建临时图层
Flds.AddStringField "ID", 12
LayerInfo.Type = miLayerInfoTypeTemp
LayerInfo.AddParameter "NAME", "TempLayer"
LayerInfo.AddParameter "Fields", Flds
Set Lyr = HistoryMap.Layers.Add(LayerInfo, 1)
End If
ReDim Angle(Res.RecordCount - 1)
ReDim RecordTime(Res.RecordCount - 1)
Res.MoveFirst
For i = 0 To Res.RecordCount - 1
Hispnt.Set Res.Fields("Longitude", Res.Fields("Latitude"
Hispnts.Add Hispnt
Angle(i) = Res.Fields("angle"
RecordTime(i) = Res.Fields("time"
Res.MoveNext
Next i
Icount = 0
TempPnt.Set Hispnts.Item(1).x, Hispnts.Item(1).y
TimerShowMap.Enabled = True
'TimerShowMap.Interval = 100
Toolbar1.Buttons(10).Enabled = True
Toolbar1.Buttons(11).Enabled = True
Toolbar1.Buttons(9).Enabled = False
Exit Sub
aa:
MsgBox "历史记录回放错误,请检测.", vbOKOnly + vbExclamation, "历史记录回放..."
Exit Sub
End Sub
Private Sub TimerShowMap_Timer()
Dim NewStyle As New MapXLib.Style
Dim ftr As New Feature
Dim fnt As New StdFont
On Error GoTo aa:
Icount = Icount + 1
If Hispnts.Count = Icount Then
TimerShowMap.Enabled = False
TimerShowMap.Interval = 0
StopFlag = Not StopFlag
MsgBox "历史轨迹回放完毕!"
Exit Sub
End If
With fnt
.Name = "gisdisplay"
.Bold = False
End With
With NewStyle
.SymbolType = miSymbolTypeTrueTypeFont
.SymbolFont = fnt
.SymbolFontShadow = True
.SymbolCharacter = 34
.SymbolFont.Size = 12
.SymbolFontColor = gisBlue '蓝色
End With
StatusBar.Panels(3).Text = "第 " & CStr(Icount) & " 条 " & CStr(Round(Hispnts.Item(Icount).x, 4)) & "::::" & CStr(Round(Hispnts.Item(Icount).y, 4)) &
" 方位角: " & CStr(Angle(Icount)) & " 度"
txtRecordTime.Text = RecordTime(Icount - 1)
If Icount <> 1 And TempPnt.x = Hispnts.Item(Icount).x And TempPnt.y = Hispnts.Item(Icount).y Then
TempPnt.Set Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
Exit Sub
End If
ftr.Attach HistoryMap
ftr.Type = miFeatureTypeSymbol
ftr.Style = NewStyle
ftr.Offset Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
HistoryMap.Layers("TempLayer".AddFeature ftr
TempPnt.Set Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
If Hispnts.Item(Icount).x > HistoryMap.Bounds.XMax Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).x < HistoryMap.Bounds.XMin Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).y > HistoryMap.Bounds.YMax Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).y < HistoryMap.Bounds.YMin Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
Exit Sub
aa:
TimerShowMap.Enabled = False
TimerShowMap.Interval = 0
StopFlag = Not StopFlag
MsgBox "历史轨迹回放完毕!"
Exit Sub
End Sub
Dim xDown As Double
Dim yDown As Double
Dim HisBeginFlag As Boolean
Dim Lyr As MapXLib.Layer
Dim LayerInfo As New MapXLib.LayerInfo
Dim Flds As New MapXLib.Fields
Dim Icount As Integer
Dim Angle() As Double
Dim RecordTime() As Date
Dim StopFlag As Boolean
Dim TempPnt As New Point
Dim DisTemp As Double
Dim DisSum As Double
Private Sub Form_Load()
Dim strsql As String
Dim i As Integer
Dim ResShowVehicle As ADODB.Recordset
'On Error Resume Next
Set ResShowVehicle = New ADODB.Recordset
strsql = "select * from mapinfo where mapname='" & cSelectMapName & "'"
If CreateRecordSetbySQL_Tempdb(ResShowVehicle, strsql) Then
If Not (ResShowVehicle.BOF And ResShowVehicle.EOF) Then
fZoom = ResShowVehicle.Fields("zoom"
fCenterX = ResShowVehicle.Fields("fcenterx"
fCenterY = ResShowVehicle.Fields("fcentery"
End If
End If
Set ResShowVehicle = Nothing
txtVehicle.Text = FrmHistory.cboVehicle.Text
txtMap.Text = FrmHistory.cboMap.Text
txtStart.Text = FrmHistory.txtYear(0) + "-" + FrmHistory.txtMonth(0) + "-" + FrmHistory.txtDay(0) + " " + FrmHistory.txtHour(0) +
":" + FrmHistory.txtMinute(0) + ":00"
txtEnd.Text = FrmHistory.txtYear(1) + "-" + FrmHistory.txtMonth(1) + "-" + FrmHistory.txtDay(1) + " " + FrmHistory.txtHour(1) + ":" +
FrmHistory.txtMinute(1) + ":00"
HistoryMap.CreateCustomTool CreateCJTool, miToolTypePoly, miCrossCursor
'设置默认工具
HistoryMap.CurrentTool = miArrowTool
HistoryMap.MapUnit = miUnitMeter
HistoryMap.Geoset = IIf(Right(cSelectMapPath, 1) = "/", cSelectMapPath, cSelectMapPath & "/" + cSelectMapName
HistoryMap.Zoom = fZoom
HistoryMap.CenterX = fCenterX
HistoryMap.CenterY = fCenterY
TxtDataTime.Text = CStr(Year(Date)) + "年" + CStr(Month(Date)) + "月" + CStr(Day(Date)) + "日" + " " + CStr(Hour(Time)) + "时" +
CStr(Minute(Time)) + "分" + CStr(Second(Time)) + "秒"
StopFlag = False
Toolbar1.Buttons(10).Enabled = False
Toolbar1.Buttons(11).Enabled = False
TimerShowMap.Interval = Slider.Value * 50
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
'清除临时图层
Dim i As Integer
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set Flds = Nothing
Set LayerInfo = Nothing
End Sub
Private Sub Form_Resize()
If Me.WindowState = 1 Then Exit Sub
HistoryMap.Height = Me.ScaleHeight - 300 - frFrame.Height
HistoryMap.Width = Me.ScaleWidth
HistoryMap.Left = Me.ScaleLeft
frFrame.Width = Me.ScaleWidth
StatusBar.Panels(1).Width = 350
StatusBar.Panels(2).Width = (Me.ScaleWidth - 400) / 10 * 4
StatusBar.Panels(3).Width = (Me.ScaleWidth - 400) / 10 * 3.5
StatusBar.Panels(4).Width = (Me.ScaleWidth - 400) / 10 * 2.5
Picture1.Top = Me.ScaleHeight - 330
Picture1.Left = Me.ScaleLeft + 100
End Sub
Private Sub HistoryMap_DblClick()
If HistoryMap.CurrentTool = CreateCJTool Then
HistoryMap.CurrentTool = miArrowTool
MsgBox "距离:" & CStr(DisSum) & " 米", vbOKOnly + vbInformation, "测距结果"
StatusBar.Panels(3).Text = ""
HisBeginFlag = False
End If
End Sub
Private Sub HistoryMap_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
'测距
If HistoryMap.CurrentTool = CreateCJTool And Button = vbLeftButton Then
HistoryMap.MapUnit = miUnitMeter
HistoryMap.ConvertCoord x, y, xDown, yDown, miScreenToMap
HisBeginFlag = True
DisTemp = DisSum 'distemp变量记录历史长度
End If
End Sub
Private Sub HistoryMap_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim xx As Double, yy As Double
Dim MapCoordX As Double, MapCoordY As Double
HistoryMap.ConvertCoord x, y, MapCoordX, MapCoordY, miScreenToMap
If HistoryMap.CurrentTool = CreateCJTool And HisBeginFlag = True Then
DisSum = DisTemp + HistoryMap.Distance(xDown, yDown, MapCoordX, MapCoordY)
StatusBar.Panels(3).Text = "距离:" & CStr(DisSum) & "米"
End If
HistoryMap.ConvertCoord x, y, xx, yy, miScreenToMap
StatusBar.Panels(2).Text = "经度: " & CStr(Round(xx, 4)) & " " & "纬度: " & CStr(Round(yy, 4))
End Sub
Private Sub Slider_Click()
If Slider.Value <> 0 Then
Slider.ToolTipText = "回放速度:" & Slider.Value * 10 & "倍"
TimerShowMap.Interval = Slider.Value * 10
End If
End Sub
Private Sub TimerTime_Timer()
TxtDataTime.Text = CStr(Year(Date)) + "年" + CStr(Month(Date)) + "月" + CStr(Day(Date)) + "日" + " " + CStr(Hour(Time)) +
"时" + CStr(Minute(Time)) + "分" + CStr(Second(Time)) + "秒"
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim i As Integer
Select Case Button.Key
Case "fullmap"
HistoryMap.Bounds = HistoryMap.Layers.Bounds
Case "zoomin"
HistoryMap.CurrentTool = miZoomInTool
Case "zoomout"
HistoryMap.CurrentTool = miZoomOutTool
Case "pan"
HistoryMap.CurrentTool = miPanTool
Case "cj"
HistoryMap.CurrentTool = CreateCJTool
DisSum = 0
Case "default"
HistoryMap.CurrentTool = miArrowTool
Case "start"
If StopFlag Then
TimerShowMap.Enabled = True
Toolbar1.Buttons(10).Enabled = True
Toolbar1.Buttons(11).Enabled = True
Toolbar1.Buttons(9).Enabled = False
Else
Call BackPutHistoryLocus
End If
Case "pause"
TimerShowMap.Enabled = False
Toolbar1.Buttons(9).Enabled = True
Toolbar1.Buttons(10).Enabled = False
StopFlag = Not StopFlag
Case "stop"
TimerShowMap.Enabled = False
Toolbar1.Buttons(10).Enabled = False
Toolbar1.Buttons(11).Enabled = False
Toolbar1.Buttons(9).Enabled = True
Case "clear"
TimerShowMap.Enabled = False
'清除临时图层
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set Flds = Nothing
Set LayerInfo = Nothing
Case "exit"
Unload Me
End Select
End Sub
Private Sub BackPutHistoryLocus() '回放历史轨迹
Dim ExistFlag As Boolean
Dim i As Integer
Dim TempLyr As MapXLib.Layer
On Error GoTo aa:
'判断临时图层是否存在
ExistFlag = False '不存在
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
ExistFlag = True '存在
i = HistoryMap.Layers.Count + 1
End If
Next i
If Not ExistFlag Then '不存在,新建临时图层
'创建临时图层
Flds.AddStringField "ID", 12
LayerInfo.Type = miLayerInfoTypeTemp
LayerInfo.AddParameter "NAME", "TempLayer"
LayerInfo.AddParameter "Fields", Flds
Set Lyr = HistoryMap.Layers.Add(LayerInfo, 1)
Else
For i = 1 To HistoryMap.Layers.Count
If HistoryMap.Layers.Item(i).Name = "TempLayer" Then
HistoryMap.Layers.Remove i
i = HistoryMap.Layers.Count + 1
End If
Next i
Set Lyr = Nothing
Set LayerInfo = Nothing
'创建临时图层
Flds.AddStringField "ID", 12
LayerInfo.Type = miLayerInfoTypeTemp
LayerInfo.AddParameter "NAME", "TempLayer"
LayerInfo.AddParameter "Fields", Flds
Set Lyr = HistoryMap.Layers.Add(LayerInfo, 1)
End If
ReDim Angle(Res.RecordCount - 1)
ReDim RecordTime(Res.RecordCount - 1)
Res.MoveFirst
For i = 0 To Res.RecordCount - 1
Hispnt.Set Res.Fields("Longitude", Res.Fields("Latitude"
Hispnts.Add Hispnt
Angle(i) = Res.Fields("angle"
RecordTime(i) = Res.Fields("time"
Res.MoveNext
Next i
Icount = 0
TempPnt.Set Hispnts.Item(1).x, Hispnts.Item(1).y
TimerShowMap.Enabled = True
'TimerShowMap.Interval = 100
Toolbar1.Buttons(10).Enabled = True
Toolbar1.Buttons(11).Enabled = True
Toolbar1.Buttons(9).Enabled = False
Exit Sub
aa:
MsgBox "历史记录回放错误,请检测.", vbOKOnly + vbExclamation, "历史记录回放..."
Exit Sub
End Sub
Private Sub TimerShowMap_Timer()
Dim NewStyle As New MapXLib.Style
Dim ftr As New Feature
Dim fnt As New StdFont
On Error GoTo aa:
Icount = Icount + 1
If Hispnts.Count = Icount Then
TimerShowMap.Enabled = False
TimerShowMap.Interval = 0
StopFlag = Not StopFlag
MsgBox "历史轨迹回放完毕!"
Exit Sub
End If
With fnt
.Name = "gisdisplay"
.Bold = False
End With
With NewStyle
.SymbolType = miSymbolTypeTrueTypeFont
.SymbolFont = fnt
.SymbolFontShadow = True
.SymbolCharacter = 34
.SymbolFont.Size = 12
.SymbolFontColor = gisBlue '蓝色
End With
StatusBar.Panels(3).Text = "第 " & CStr(Icount) & " 条 " & CStr(Round(Hispnts.Item(Icount).x, 4)) & "::::" & CStr(Round(Hispnts.Item(Icount).y, 4)) &
" 方位角: " & CStr(Angle(Icount)) & " 度"
txtRecordTime.Text = RecordTime(Icount - 1)
If Icount <> 1 And TempPnt.x = Hispnts.Item(Icount).x And TempPnt.y = Hispnts.Item(Icount).y Then
TempPnt.Set Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
Exit Sub
End If
ftr.Attach HistoryMap
ftr.Type = miFeatureTypeSymbol
ftr.Style = NewStyle
ftr.Offset Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
HistoryMap.Layers("TempLayer".AddFeature ftr
TempPnt.Set Hispnts.Item(Icount).x, Hispnts.Item(Icount).y
If Hispnts.Item(Icount).x > HistoryMap.Bounds.XMax Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).x < HistoryMap.Bounds.XMin Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).y > HistoryMap.Bounds.YMax Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
If Hispnts.Item(Icount).y < HistoryMap.Bounds.YMin Then
HistoryMap.CenterX = Hispnts.Item(Icount).x
HistoryMap.CenterY = Hispnts.Item(Icount).y
End If
Exit Sub
aa:
TimerShowMap.Enabled = False
TimerShowMap.Interval = 0
StopFlag = Not StopFlag
MsgBox "历史轨迹回放完毕!"
Exit Sub
End Sub