forked from academiadocodigo/TBGWebCharts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Maps.Gmaps.Routes.pas
72 lines (57 loc) · 1.52 KB
/
Maps.Gmaps.Routes.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
unit Maps.Gmaps.Routes;
interface
uses
Interfaces;
type
TModelMapsGMapsRoutes = class(TInterfacedObject, iModelMapsRoutes)
private
[weak]
FParent: iModelMapsGeneric;
FDirections: iModelMapsRoutesDirections;
public
constructor Create(Parent : iModelMapsGeneric);
destructor Destroy; override;
class function New(Parent : iModelMapsGeneric) : iModelMapsRoutes;
function Directions : iModelMapsRoutesDirections;
function &End : iModelMapsGeneric;
function ResultScript : String;
end;
implementation
uses
Injection,
Maps.Dataset,
Maps.Gmaps.Routes.Directions;
{ TModelMapsGMapsRoute }
constructor TModelMapsGMapsRoutes.Create(Parent: iModelMapsGeneric);
begin
{$IF RTLVERSION > 27 }
TInjection.Weak(@FParent, Parent);
{$ELSE}
FParent := Parent;
{$IFEND}
end;
destructor TModelMapsGMapsRoutes.Destroy;
begin
inherited;
end;
function TModelMapsGMapsRoutes.Directions: iModelMapsRoutesDirections;
begin
FDirections := TModelMapsGMapsRoutesDirections.New(Self);
Result := FDirections;
end;
function TModelMapsGMapsRoutes.&End: iModelMapsGeneric;
begin
Result := FParent;
end;
class function TModelMapsGMapsRoutes.New(
Parent: iModelMapsGeneric): iModelMapsRoutes;
begin
Result := Self.Create(Parent);
end;
function TModelMapsGMapsRoutes.ResultScript: String;
begin
Result := '';
if Assigned(FDirections) then
Result := Result + FDirections.ResultScript(FParent.Name);
end;
end.