Sub Globals
Dim GMapsEx As GoogleMapsExtras
Dim gmap As GoogleMap
Dim Poly As Polygon
Dim flagPolygon as Boolean
End Sub
Sub drawPolygon(curLocation As Location)
Dim PolyOptions1 As PolygonOptions
Dim Point1, Point2, Point3, Point4 As LatLng
Dim PointsList As List
Dim bear1, bear2 As Float
Dim lat1, lat2, lon1, lon2 As Float
Dim coneDeg As Int = 10
Dim scale As Float
Dim z As Int
If flagPolygon Then
Poly.Remove
flagPolygon = False
End If
z = NumberFormat(gmap.CameraPosition.Zoom, 1, 0)
If z > 10 Then
scale = (20 - z)/2
If scale < 1 Then
scale = 1
End If
scale = scale * 0.000901404
bear1 = curLocation.Bearing + coneDeg
If bear1 > 360 Then
bear1 = bear1 - 360
End If
bear2 = curLocation.Bearing - coneDeg
If bear2 < 0 Then
bear2 = 360 + bear2
End If
lat1 = scale * CosD(bear1)
lon1 = scale * SinD(bear1)
lat2 = scale * CosD(bear2)
lon2 = scale * SinD(bear2)
lat1 = lat1 + curLocation.Latitude
lon1 = lon1 + curLocation.Longitude
lat2 = lat2 + curLocation.Latitude
lon2 = lon2 + curLocation.Longitude
flagPolygon = True
PointsList.Initialize
Point1.Initialize(curLocation.Latitude, curLocation.Longitude)
PointsList.Add(Point1)
Point2.Initialize(lat1, lon1)
PointsList.Add(Point2)
Point3.Initialize(lat2, lon2)
PointsList.Add(Point3)
Point4.Initialize(curLocation.Latitude, curLocation.Longitude)
PointsList.Add(Point4)
PolyOptions1.Initialize
PolyOptions1.FillColor = Colors.ARGB(128, 242, 195, 247)
PolyOptions1.Points.AddAll(PointsList)
PolyOptions1.StrokeColor = Colors.Black
PolyOptions1.StrokeWidth=2
Poly = GMapsEx.AddPolygon(gmap, PolyOptions1)
End If
End Sub