|
Dim objStyle As New soStyle
objStyle.PenColor = RGB(255, 0, 0)
objStyle.SymbolSize = 20
Dim objPoint As soGeoPoint
Select Case myPoints.Count
Case 0
sm.TrackingLayer.ClearEvents
sm.TrackingLayer.AddEvent sm.TrackedGeometry, objStyle, "Point1"
Set objPoint = sm.TrackedGeometry
myPoints.Add2 objPoint.x, objPoint.y
sm.TrackingLayer.Refresh
Case 1
Set objPoint = sm.TrackedGeometry
myPoints.Add2 objPoint.x, objPoint.y
'在trackinglayer上面显示第一点和第二点之间的连线
sm.TrackingLayer.RemoveEvent "Line"
Dim objPoints1 As New soPoints
Dim objLine1 As New soGeoLine
objPoints1.Add myPoints.Item(1)
objPoints1.Add myPoints.Item(2)
objLine1.AddPart objPoints1
objStyle.PenStyle = 2
objStyle.PenColor = RGB(196, 196, 196)
sm.TrackingLayer.AddEvent objLine1, objStyle, "Line1"
objStyle.PenColor = RGB(255, 0, 0)
sm.TrackingLayer.AddEvent sm.TrackedGeometry, objStyle, "Point2"
sm.TrackingLayer.Refresh
Case 2
Set objPoint = sm.TrackedGeometry
myPoints.Add2 objPoint.x, objPoint.y
Dim objArc As New soGeoArc
objArc.MakeWith3P myPoints.Item(1), myPoints.Item(2), myPoints.Item(3)
Set objArc.Style = objStyle
Dim objRSet As soRecordset
Set objRSet = sm.Layers(1).Dataset.Query("SmID<0", True)
objRSet.AddNew objArc
objRSet.Update
sm.TrackingLayer.ClearEvents
myPoints.RemoveAll
sm.Refresh
End Select
|