#Geo

C
MapPointToTile
M
Point
(hMapPoint)MapPoint;(Zoom)i
MapPointToPixel
M
Point
(hMapPoint)MapPoint;(Zoom)i
PixelToMapPoint
M
MapPoint
(hPoint)Point;(Zoom)i
PixelToTile
M
Point
(hPoint)Point;
SexToDec
M
f
(Value)s
'ex: 45°53'36" -> 45,893333
DecToSex
M
s
(Value)f(Type)i
'ex:45,893333 -> 45°53'36"
TileBounds
M
MapBounds
(X)i(y)i(Zoom)i
TileToMapPoint
M
MapPoint
(X)i(y)i(Zoom)i
#Map

C
Top
p
i

Y
p
i

Left
p
i

X
p
i

Width
p
i

Height
p
i

Zoom
p
i

Center
p
MapPoint

PixelBox
r
Rect

Bounds
r
MapBounds

_ShowWithEffect
v
b

_Debug
V
b

:Refresh
:


:Draw
:


Refresh
m


tmrLoad_Timer
m


Resize
m

(iWidth)i(iHeight)i
AddTile
m
_MapTile
(Name)s(Pattern)s[(Args)Collection;(CacheName)s]
AddShape
m
_MapShape
(Name)s
_get
m
o
(Name)s
_next
m
o

Draw
m


Layer_Refresh
m


tmrDraw_Timer
m


Grab
m
Image
(Bounds)MapBounds;(iWidth)i(iHeight)i[(Padding)i(Zoom)i]
MapPointToPixelRel
m
Point
(hMapPoint)MapPoint;
PixelToMapPointRel
m
MapPoint
(hPoint)Point;
#MapBounds

C
Left
p
f

Lon
p
f

Est
p
f

Right
p
f

Lon2
p
f

West
p
f

Top
p
f

Lat
p
f

North
p
f

Bottom
p
f

Lat2
p
f

South
p
f

TopLeft
p
MapPoint

NorthEast
p
MapPoint

BottomRight
p
MapPoint

SouthWest
p
MapPoint

InBounds
m
b
(P)MapPoint;
Contain
m
b
(Bound)MapBounds;
Merge
m
MapBounds
(Bound)MapBounds;
Collide
m
b
(Bound)MapBounds;
_Call
M
MapBounds
(NorthEast)MapPoint;(SouthWest)MapPoint;
ToString
m
s

#MapPoint

C
Lat
v
f

Lon
v
f

_new
m

[(Latitude)f(Longitude)f]
_Call
M
MapPoint
(Latitude)f(Longitude)f
Distance
m
f
(PointA)MapPoint;(PointB)MapPoint;
'Calculate geodesic distance (in m) between two points specified by latitude / longitude (in numeric degrees).
'from: Vincenty inverse formula - T Vincenty, "Direct and Inverse Solutions of Geodesics on the
'Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975
'[http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf]
'© 2002-2008 Chris Veness [http://www.movable-type.co.uk/scripts/latlong-vincenty.html]
From
M
MapPoint
(Point)MapPoint;(Bearing)f(Distance)f
'Calculate destination point given starting point lat / long (numeric degrees), 
'bearing (numeric degrees) & distance (in m).
'from: Vincenty direct formula - T Vincenty, "Direct and Inverse Solutions of Geodesics on the 
'Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975"
'[http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf]
'© 2002-2008 Chris Veness [http://www.movable-type.co.uk/scripts/latlong-vincenty-direct.html]
Bearing
M
f
(From)MapPoint;(To)MapPoint;
'Calculate the initial bearing (in degrees) that leads from one point to another point
'specified by latitude / longitude.
'
#MapView
UserControl
C
_Properties
C
s
*,Border{Border.*},AllowEffect=true,ShowControls=true
_Group
C
s
View
Lock
p
b

Border
p
i

Map
r
Map

AllowEffect
p
b

ShowControls
p
b

Mode
p
i

:Click
:


:Draw
:


_new
m


SetCenter
m

(hMapPoint)MapPoint;
View_Draw
m


Refresh
m


View_MouseWheel
m


_ZoomUp
m

(X)i(Y)i
_ZoomDown
m

(X)i(Y)i
Map_Refresh
m


View_MouseDown
m


View_MouseUp
m


View_MouseMove
m


View_Arrange
m


tmrZoom_Timer
m


tmrOnMove_Timer
m


#_MapLayer

C
Name
v
s

Visible
p
b

Copyright
v
s

$aStack
v
String[]

Opacity
p
f

Loading
r
b

:Refresh
:


_Draw
m


Load
m


Refresh
m


CountActiveClients
m
i

#_MapShape
_MapLayer
C
Point
C
i
1
MultiPoint
C
i
8
Polyline
C
i
3
Polygon
C
i
5
Image
p
Image

Color
p
i

Count
r
i

Max
r
i

Key
r
s

_new
m


Load
m


AddPoint
m

(Key)s(Points)MapPoint;
Exist
m
b
(Key)s
AddMultipoint
m

(Key)s(Points)MapPoint[];
GetCenter
M
MapPoint
(hPoints)MapPoint[];
AddPolyLine
m

(Key)s(Points)MapPoint[];
AddPolygon
m

(Key)s(Points)MapPoint[][];
_Draw
m


_get
m
_ShapeItem
(Key)s
Remove
m

(Key)s
Refresh
m


GetSelected
m
_ShapeItem[]

UnselectAll
m


SelectAll
m


Item_Select
m


Find
m
_ShapeItem
(hMp)MapPoint;
#_MapTile
_MapLayer
C
$aStack
v
String[]

SubDomains
p
String[]

Opacity
p
f

Loading
r
b

TileBoundValue
v
MapBounds

IsWebMapService
p
b

WMSArgs
p
Collection

MaxBounds
p
MapBounds

WMSProjection
p
s

:Refresh
:


_new
m

[(CacheName)s]
ClearCache
m


_Draw
m


Load
m


tmrGet_Timer
m


Client_Finished
m


Client_Error
m


Refresh
m


SetPattern
m

(sPattern)s[(cArgs)Collection;]
CountActiveClients
m
i

_free
m


SetCoockieFile
m
o
(sFile)s
#_ShapeItem

C
Bounds
v
MapBounds

Color
v
i

Key
r
s

Type
v
i

Points
v
o

Center
v
MapPoint

Selected
p
b

Image
v
Image

:Select
:


_New
m

(Key)s
Contains
m
b
(hMapPoint)MapPoint;
Near
m
b
(hMapPoint)MapPoint;(iZoom)i(Padding)i
