You've already forked lazarus-ccr
LazMapViewer: Fix colored_tracks demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8103 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -4,6 +4,9 @@
|
|||||||
<Version Value="12"/>
|
<Version Value="12"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<General>
|
<General>
|
||||||
|
<Flags>
|
||||||
|
<CompatibilityMode Value="True"/>
|
||||||
|
</Flags>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<Title Value="ColoredTracks_Demo"/>
|
<Title Value="ColoredTracks_Demo"/>
|
||||||
<Scaled Value="True"/>
|
<Scaled Value="True"/>
|
||||||
@ -12,10 +15,9 @@
|
|||||||
<XPManifest>
|
<XPManifest>
|
||||||
<DpiAware Value="True"/>
|
<DpiAware Value="True"/>
|
||||||
</XPManifest>
|
</XPManifest>
|
||||||
<Icon Value="0"/>
|
|
||||||
</General>
|
</General>
|
||||||
<BuildModes>
|
<BuildModes Count="1">
|
||||||
<Item Name="Default" Default="True"/>
|
<Item1 Name="Default" Default="True"/>
|
||||||
</BuildModes>
|
</BuildModes>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -24,32 +26,34 @@
|
|||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages>
|
<RequiredPackages Count="2">
|
||||||
<Item>
|
<Item1>
|
||||||
<PackageName Value="lazMapViewerPkg"/>
|
<PackageName Value="lazMapViewerPkg"/>
|
||||||
</Item>
|
</Item1>
|
||||||
<Item>
|
<Item2>
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="LCL"/>
|
||||||
</Item>
|
</Item2>
|
||||||
</RequiredPackages>
|
</RequiredPackages>
|
||||||
<Units>
|
<Units Count="2">
|
||||||
<Unit>
|
<Unit0>
|
||||||
<Filename Value="coloredtracks_demo.lpr"/>
|
<Filename Value="coloredtracks_demo.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
</Unit>
|
<UnitName Value="ColoredTracks_Demo"/>
|
||||||
<Unit>
|
</Unit0>
|
||||||
|
<Unit1>
|
||||||
<Filename Value="main.pas"/>
|
<Filename Value="main.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<ComponentName Value="MainForm"/>
|
<ComponentName Value="MainForm"/>
|
||||||
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
</Unit>
|
</Unit1>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="11"/>
|
<Version Value="11"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Target>
|
<Target>
|
||||||
<Filename Value="coloredtracks_demo"/>
|
<Filename Value="bin\$(TargetCPU)-$(TargetOS)\coloredtracks_demo"/>
|
||||||
</Target>
|
</Target>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
@ -64,16 +68,16 @@
|
|||||||
</Linking>
|
</Linking>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<Exceptions>
|
<Exceptions Count="3">
|
||||||
<Item>
|
<Item1>
|
||||||
<Name Value="EAbort"/>
|
<Name Value="EAbort"/>
|
||||||
</Item>
|
</Item1>
|
||||||
<Item>
|
<Item2>
|
||||||
<Name Value="ECodetoolError"/>
|
<Name Value="ECodetoolError"/>
|
||||||
</Item>
|
</Item2>
|
||||||
<Item>
|
<Item3>
|
||||||
<Name Value="EFOpenError"/>
|
<Name Value="EFOpenError"/>
|
||||||
</Item>
|
</Item3>
|
||||||
</Exceptions>
|
</Exceptions>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
</CONFIG>
|
</CONFIG>
|
||||||
|
@ -1,371 +1,138 @@
|
|||||||
object MainForm: TMainForm
|
object MainForm: TMainForm
|
||||||
Left = 285
|
Left = 285
|
||||||
Height = 600
|
Height = 619
|
||||||
Top = 131
|
Top = 131
|
||||||
Width = 1000
|
Width = 933
|
||||||
Caption = 'Grand Canyon Hike'
|
Caption = 'MainForm'
|
||||||
ClientHeight = 600
|
ClientHeight = 619
|
||||||
ClientWidth = 1000
|
ClientWidth = 933
|
||||||
OnActivate = FormActivate
|
OnActivate = FormActivate
|
||||||
LCLVersion = '2.3.0.0'
|
LCLVersion = '2.3.0.0'
|
||||||
object MapView: TMapView
|
object MapView: TMapView
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 600
|
Height = 536
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 606
|
Width = 933
|
||||||
Align = alClient
|
Align = alClient
|
||||||
CachePath = '../../../../cache/'
|
CachePath = '../../../../cache/'
|
||||||
DefaultTrackColor = 140
|
|
||||||
DefaultTrackWidth = 3
|
|
||||||
DownloadEngine = MapView.BuiltInDLE
|
DownloadEngine = MapView.BuiltInDLE
|
||||||
DrawingEngine = MapView.BuiltInDE
|
DrawingEngine = MapView.BuiltInDE
|
||||||
Font.CharSet = ANSI_CHARSET
|
|
||||||
Font.Color = clBlack
|
Font.Color = clBlack
|
||||||
Font.Pitch = fpVariable
|
|
||||||
MapProvider = 'OpenStreetMap Mapnik'
|
MapProvider = 'OpenStreetMap Mapnik'
|
||||||
POIImage.Data = {
|
|
||||||
36170000424D36170000000000003600000028000000200000002E0000000100
|
|
||||||
2000000000000017000064000000640000000000000000000000FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FD560000FC4CFFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000F1110000FEE70000FEE10000
|
|
||||||
EA0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FE9A0000FFFF0000FFFF0000
|
|
||||||
FE8FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF000000FB3E0000FEFE0000FFFF0000FFFF0000
|
|
||||||
FEFC0000FB35FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF000000DB070000FED70000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FECF0000C004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF000000FE800000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FD75FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF000000F9290000FEF90000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FEF50000F821FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00000080020000FEC30000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FEB8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000FD660000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FD5CFFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
|
||||||
F5180000FEEF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEEA0000F213FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
|
|
||||||
FEAA0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE9FFFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FC4C0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFE0000FC42FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000EA0C0000FEE10000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEDB0000E309FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FE900000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE86FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FB350000FEFC0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFA0000
|
|
||||||
FA2DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF000000C0040000FED00000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FEC700008002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF000000FD770000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FD6CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF000000F8230000FEF80000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FEF50000F61CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF000000FECF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FEC8FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF000000FE820000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FD79FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000F9270000FEFD0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FEFD0000F822FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000FEA70000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FEF70000FEB50000FE810000FD670000FD670000
|
|
||||||
FE810000FEB50000FEF70000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEA7FFFFFF00FFFFFF00FFFFFF000000
|
|
||||||
FB340000FEFE0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FEFD0000FE920000F213FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF000000F2130000FE920000FEFD0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEFE0000FB34FFFFFF00FFFFFF000000
|
|
||||||
FEAC0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FEF60000FC4DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF000000FC4D0000FEF60000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEACFFFFFF000000F3150000
|
|
||||||
FEFA0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFE0000
|
|
||||||
FC54FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FC540000FEFE0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFA0000F3150000FD610000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEA2FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FEA20000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FD610000FEA00000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFD0000F823FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000F8230000FEFD0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEA00000FECD0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEC5FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FEC50000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FECD0000FEEC0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE8CFFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FE8C0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEEC0000FEFA0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FD72FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FD720000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEFA0000FEF70000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FD75FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FD750000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEF70000FEE80000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE95FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FE950000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEE80000FEC50000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FED5FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FED50000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEC50000FE940000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FB37FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FB370000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE940000FC520000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEC00000
|
|
||||||
8002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000080020000FEC00000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FC520000E60A0000
|
|
||||||
FEF20000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FD7EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000FD7E0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEF20000E60AFFFFFF000000
|
|
||||||
FE950000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FEFE0000FD7F00008002FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00000080020000FD7F0000FEFE0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FE95FFFFFF00FFFFFF000000
|
|
||||||
F8200000FEF80000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FEC30000FB3DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF000000FB3D0000FEC30000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEF80000F820FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000FE830000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEDB0000FE9C0000FD7E0000FD7E0000
|
|
||||||
FE9C0000FEDB0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FE83FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000DB070000FECC0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FECC0000DB07FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF000000F71F0000FEE40000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FEE40000F71FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF000000FA2B0000FEE50000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FEE50000FA2BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF000000F8210000FECD0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FECE0000F821FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000DB070000FE850000FEF90000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FEF90000FE850000
|
|
||||||
DB07FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000F8230000
|
|
||||||
FE990000FEF30000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
|
|
||||||
FFFF0000FFFF0000FFFF0000FFFF0000FEF30000FE990000F823FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF000000EA0C0000FD570000FE980000FEC70000FEEB0000FEF90000FEF90000
|
|
||||||
FEEB0000FEC70000FE980000FD570000EA0CFFFFFF00FFFFFF00FFFFFF00FFFF
|
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
|
|
||||||
}
|
|
||||||
POITextBgColor = clCream
|
|
||||||
OnCenterMove = MapViewCenterMove
|
|
||||||
OnZoomChange = MapViewZoomChange
|
OnZoomChange = MapViewZoomChange
|
||||||
end
|
end
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 619
|
Left = 8
|
||||||
Height = 584
|
Height = 67
|
||||||
Top = 8
|
Top = 544
|
||||||
Width = 373
|
Width = 917
|
||||||
Align = alRight
|
Align = alBottom
|
||||||
|
AutoSize = True
|
||||||
BorderSpacing.Around = 8
|
BorderSpacing.Around = 8
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
ClientHeight = 584
|
ClientHeight = 67
|
||||||
ClientWidth = 373
|
ClientWidth = 917
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object TrackGrid: TStringGrid
|
object CheckBox1: TCheckBox
|
||||||
AnchorSideLeft.Control = Panel1
|
AnchorSideLeft.Control = Panel1
|
||||||
AnchorSideTop.Control = lblInfo
|
AnchorSideTop.Control = Label2
|
||||||
AnchorSideTop.Side = asrBottom
|
AnchorSideTop.Side = asrBottom
|
||||||
AnchorSideRight.Control = Panel1
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
AnchorSideBottom.Control = clbTrackColor
|
|
||||||
Left = 0
|
|
||||||
Height = 469
|
|
||||||
Top = 58
|
|
||||||
Width = 373
|
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
|
||||||
AutoFillColumns = True
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
BorderSpacing.Bottom = 8
|
|
||||||
DefaultColWidth = 30
|
|
||||||
MouseWheelOption = mwGrid
|
|
||||||
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goRowSelect, goThumbTracking, goFixedRowNumbering, goTruncCellHints]
|
|
||||||
TabOrder = 0
|
|
||||||
OnClick = TrackGridClick
|
|
||||||
OnPrepareCanvas = TrackGridPrepareCanvas
|
|
||||||
ColWidths = (
|
|
||||||
30
|
|
||||||
85
|
|
||||||
85
|
|
||||||
85
|
|
||||||
84
|
|
||||||
)
|
|
||||||
Cells = (
|
|
||||||
4
|
|
||||||
1
|
|
||||||
0
|
|
||||||
'Latitude'
|
|
||||||
2
|
|
||||||
0
|
|
||||||
'Longitude'
|
|
||||||
3
|
|
||||||
0
|
|
||||||
'Altitude'
|
|
||||||
4
|
|
||||||
0
|
|
||||||
'Time'
|
|
||||||
)
|
|
||||||
end
|
|
||||||
object cbAutoTrace: TCheckBox
|
|
||||||
AnchorSideLeft.Control = Panel1
|
|
||||||
AnchorSideBottom.Control = Panel1
|
|
||||||
AnchorSideBottom.Side = asrBottom
|
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 19
|
||||||
Top = 565
|
Top = 19
|
||||||
Width = 150
|
Width = 155
|
||||||
Anchors = [akLeft, akBottom]
|
Caption = 'Trans-Yosemite Tour (red)'
|
||||||
BorderSpacing.Top = 8
|
Checked = True
|
||||||
Caption = 'Trace track automatically'
|
OnChange = CheckBox1Change
|
||||||
OnChange = cbAutoTraceChange
|
State = cbChecked
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object CheckBox2: TCheckBox
|
||||||
|
AnchorSideLeft.Control = CheckBox1
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = CheckBox1
|
||||||
|
Left = 179
|
||||||
|
Height = 19
|
||||||
|
Top = 19
|
||||||
|
Width = 136
|
||||||
|
BorderSpacing.Left = 24
|
||||||
|
Caption = 'Bear Valley Tour (blue)'
|
||||||
|
Checked = True
|
||||||
|
OnChange = CheckBox2Change
|
||||||
|
State = cbChecked
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
|
object CheckBox3: TCheckBox
|
||||||
|
AnchorSideLeft.Control = CheckBox2
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = CheckBox1
|
||||||
|
Left = 339
|
||||||
|
Height = 19
|
||||||
|
Top = 19
|
||||||
|
Width = 117
|
||||||
|
BorderSpacing.Left = 24
|
||||||
|
Caption = 'Triangle Loop Tour'
|
||||||
|
Checked = True
|
||||||
|
OnChange = CheckBox3Change
|
||||||
|
State = cbChecked
|
||||||
|
TabOrder = 2
|
||||||
|
end
|
||||||
|
object ZoomLabel: TLabel
|
||||||
|
AnchorSideTop.Control = CheckBox1
|
||||||
|
AnchorSideTop.Side = asrCenter
|
||||||
|
AnchorSideRight.Control = Panel1
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 857
|
||||||
|
Height = 15
|
||||||
|
Top = 21
|
||||||
|
Width = 60
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
Caption = 'ZoomLabel'
|
||||||
|
end
|
||||||
|
object Label2: TLabel
|
||||||
|
AnchorSideLeft.Control = Panel1
|
||||||
|
AnchorSideTop.Control = Panel1
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 0
|
||||||
|
Width = 724
|
||||||
|
BorderSpacing.Bottom = 4
|
||||||
|
Caption = 'Yosemite bike tours (https://www.roadbike.de/rennrad-touren/drei-rennrad-traumtouren-im-yosemite-nationalpark-in-den-usa/)'
|
||||||
|
Font.Style = [fsBold]
|
||||||
|
ParentFont = False
|
||||||
|
end
|
||||||
|
object ComboBox1: TComboBox
|
||||||
|
AnchorSideLeft.Control = Label1
|
||||||
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
AnchorSideTop.Control = CheckBox1
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 79
|
||||||
|
Height = 23
|
||||||
|
Top = 44
|
||||||
|
Width = 273
|
||||||
|
BorderSpacing.Top = 6
|
||||||
|
ItemHeight = 15
|
||||||
|
ItemIndex = 0
|
||||||
|
Items.Strings = (
|
||||||
|
'Google Maps'
|
||||||
|
'Google Satellite'
|
||||||
|
'Open Topo Map'
|
||||||
|
)
|
||||||
|
OnChange = ComboBox1Change
|
||||||
|
Style = csDropDownList
|
||||||
|
TabOrder = 3
|
||||||
|
Text = 'Google Maps'
|
||||||
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
AnchorSideLeft.Control = Panel1
|
AnchorSideLeft.Control = Panel1
|
||||||
AnchorSideTop.Control = clbTrackColor
|
AnchorSideTop.Control = ComboBox1
|
||||||
AnchorSideTop.Side = asrCenter
|
AnchorSideTop.Side = asrCenter
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 15
|
Height = 15
|
||||||
Top = 539
|
Top = 48
|
||||||
Width = 60
|
Width = 71
|
||||||
BorderSpacing.Right = 8
|
BorderSpacing.Right = 8
|
||||||
Caption = 'Track color:'
|
Caption = 'Map provider'
|
||||||
end
|
|
||||||
object clbTrackColor: TColorBox
|
|
||||||
AnchorSideLeft.Control = Label1
|
|
||||||
AnchorSideLeft.Side = asrBottom
|
|
||||||
AnchorSideRight.Control = Panel1
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
AnchorSideBottom.Control = cbAutoTrace
|
|
||||||
Left = 68
|
|
||||||
Height = 22
|
|
||||||
Top = 535
|
|
||||||
Width = 305
|
|
||||||
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbIncludeNone, cbCustomColor, cbPrettyNames, cbCustomColors]
|
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
|
||||||
DropDownCount = 32
|
|
||||||
ItemHeight = 16
|
|
||||||
OnChange = clbTrackColorChange
|
|
||||||
TabOrder = 2
|
|
||||||
end
|
|
||||||
object lblInfo: TLabel
|
|
||||||
AnchorSideLeft.Control = Panel1
|
|
||||||
AnchorSideTop.Control = Bevel1
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
AnchorSideRight.Control = Panel1
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
Left = 0
|
|
||||||
Height = 15
|
|
||||||
Top = 35
|
|
||||||
Width = 373
|
|
||||||
Anchors = [akTop, akLeft, akRight]
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
Caption = 'Click on row to display point in map'
|
|
||||||
end
|
|
||||||
object lblMapCenter: TLabel
|
|
||||||
AnchorSideLeft.Control = Panel1
|
|
||||||
AnchorSideTop.Control = Panel1
|
|
||||||
AnchorSideRight.Control = Panel1
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
Left = 0
|
|
||||||
Height = 15
|
|
||||||
Top = 0
|
|
||||||
Width = 373
|
|
||||||
Anchors = [akTop, akLeft, akRight]
|
|
||||||
Caption = 'Map center: -'
|
|
||||||
end
|
|
||||||
object Bevel1: TBevel
|
|
||||||
AnchorSideLeft.Control = Panel1
|
|
||||||
AnchorSideTop.Control = lblMapCenter
|
|
||||||
AnchorSideTop.Side = asrBottom
|
|
||||||
AnchorSideRight.Control = Panel1
|
|
||||||
AnchorSideRight.Side = asrBottom
|
|
||||||
Left = 0
|
|
||||||
Height = 4
|
|
||||||
Top = 23
|
|
||||||
Width = 373
|
|
||||||
Anchors = [akTop, akLeft, akRight]
|
|
||||||
BorderSpacing.Top = 8
|
|
||||||
Shape = bsBottomLine
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object Splitter1: TSplitter
|
|
||||||
Left = 606
|
|
||||||
Height = 600
|
|
||||||
Top = 0
|
|
||||||
Width = 5
|
|
||||||
Align = alRight
|
|
||||||
ResizeAnchor = akRight
|
|
||||||
end
|
|
||||||
object Timer: TTimer
|
|
||||||
Enabled = False
|
|
||||||
Interval = 10
|
|
||||||
OnTimer = TimerTimer
|
|
||||||
Left = 733
|
|
||||||
Top = 392
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
@ -5,41 +5,35 @@ unit main;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
||||||
Grids, StdCtrls, ColorBox, mvMapViewer, mvGpsObj;
|
mvMapViewer, mvGpsObj, mvGpx;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TMainForm }
|
{ TMainForm }
|
||||||
|
|
||||||
TMainForm = class(TForm)
|
TMainForm = class(TForm)
|
||||||
Bevel1: TBevel;
|
CheckBox1: TCheckBox;
|
||||||
cbAutoTrace: TCheckBox;
|
CheckBox2: TCheckBox;
|
||||||
clbTrackColor: TColorBox;
|
CheckBox3: TCheckBox;
|
||||||
|
ComboBox1: TComboBox;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
lblInfo: TLabel;
|
ZoomLabel: TLabel;
|
||||||
lblMapCenter: TLabel;
|
Label2: TLabel;
|
||||||
MapView: TMapView;
|
MapView: TMapView;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
Splitter1: TSplitter;
|
procedure CheckBox1Change(Sender: TObject);
|
||||||
TrackGrid: TStringGrid;
|
procedure CheckBox2Change(Sender: TObject);
|
||||||
Timer: TTimer;
|
procedure CheckBox3Change(Sender: TObject);
|
||||||
procedure cbAutoTraceChange(Sender: TObject);
|
procedure ComboBox1Change(Sender: TObject);
|
||||||
procedure clbTrackColorChange(Sender: TObject);
|
|
||||||
procedure FormActivate(Sender: TObject);
|
procedure FormActivate(Sender: TObject);
|
||||||
procedure MapViewCenterMove(Sender: TObject);
|
|
||||||
procedure MapViewZoomChange(Sender: TObject);
|
procedure MapViewZoomChange(Sender: TObject);
|
||||||
procedure TrackGridClick(Sender: TObject);
|
|
||||||
procedure TrackGridPrepareCanvas(sender: TObject; {%H-}aCol, {%H-}aRow: Integer;
|
|
||||||
{%H-}aState: TGridDrawState);
|
|
||||||
procedure TimerTimer(Sender: TObject);
|
|
||||||
private
|
private
|
||||||
FTrack: TGpsTrack;
|
FTrack1: TGpsTrack;
|
||||||
FCurrPt: TGpsPoint;
|
FTrack2: TGpsTrack;
|
||||||
FCurrPtIndex: Integer;
|
FTrack3: TGpsTrack;
|
||||||
procedure InfoCaption;
|
function LoadGPXFile(AFileName: String; AColor: TColor; AWidth: Double): TGPSTrack;
|
||||||
procedure LoadGPXSampleFile;
|
procedure UpdateInfo;
|
||||||
procedure MoveTrackPointToIndex(ANewIndex: Integer);
|
|
||||||
|
|
||||||
public
|
public
|
||||||
|
|
||||||
@ -50,163 +44,100 @@ var
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
|
||||||
mvTypes, mvEngine, mvGpx;
|
|
||||||
|
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
const
|
uses
|
||||||
_TRACK_PT_ = 10;
|
mvTypes, mvEngine;
|
||||||
|
|
||||||
|
const
|
||||||
|
FILENAME1 = '../../Yosemite Tour 1 - Trans Yosemite.gpx';
|
||||||
|
FILENAME2 = '../../Yosemite Tour 2 - Bear Valley.gpx';
|
||||||
|
FILENAME3 = '../../Yosemite Tour 3 - Triangle Loop.gpx';
|
||||||
|
|
||||||
{ TMainForm }
|
{ TMainForm }
|
||||||
|
|
||||||
procedure TMainForm.FormActivate(Sender: TObject);
|
procedure TMainForm.FormActivate(Sender: TObject);
|
||||||
var
|
var
|
||||||
crs: TCursor;
|
crs: TCursor;
|
||||||
|
totalArea: TRealArea;
|
||||||
|
trackArea: TRealArea;
|
||||||
begin
|
begin
|
||||||
crs := Screen.Cursor;
|
crs := Screen.Cursor;
|
||||||
Screen.Cursor := crHourglass;
|
Screen.Cursor := crHourglass;
|
||||||
try
|
try
|
||||||
MapView.MapProvider := 'Open Topo Map';
|
// Threaded painting interferes with track painting over several tiles
|
||||||
|
MapView.UseThreads := false;
|
||||||
|
MapView.MapProvider := Combobox1.Text;
|
||||||
MapView.Active := true;
|
MapView.Active := true;
|
||||||
|
|
||||||
// Center on Grand Canyon Village
|
// Load GPX files
|
||||||
MapView.Zoom := 13;
|
FTrack1 := LoadGPXFile(FILENAME1, clRed, 1.0);
|
||||||
MapView.Center := RealPoint(DMSToDeg(36, 4, 32.2), -DMSToDeg(112, 7, 17.4));
|
FTrack1.GetArea(totalArea);
|
||||||
|
|
||||||
clbTrackColor.Selected := MapView.DefaultTrackColor;
|
FTrack2 := LoadGPXFile(FILENAME2, clBlue, 1.2);
|
||||||
|
FTrack2.GetArea(trackArea);
|
||||||
|
ExtendArea(totalArea, trackArea);
|
||||||
|
|
||||||
// Load a GPX file of a hiking trail into the Grand Canyon
|
FTrack3 := LoadGPXFile(FILENAME3, clBlack, 0.5);
|
||||||
LoadGPXSampleFile;
|
FTrack3.GetArea(trackArea);
|
||||||
|
ExtendArea(totalArea, trackArea);
|
||||||
|
|
||||||
|
MapView.ZoomOnArea(totalArea);
|
||||||
|
UpdateInfo;
|
||||||
finally
|
finally
|
||||||
Screen.Cursor := crs;
|
Screen.Cursor := crs;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.cbAutoTraceChange(Sender: TObject);
|
procedure TMainForm.MapViewZoomChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if cbAutoTrace.Checked then
|
UpdateInfo;
|
||||||
begin
|
|
||||||
if FCurrPtIndex = FTrack.Points.Count-1 then
|
|
||||||
FCurrPtIndex := 0;
|
|
||||||
Timer.Enabled := true;
|
|
||||||
lblInfo.Enabled := false;
|
|
||||||
TrackGrid.Enabled := false;
|
|
||||||
end else begin
|
|
||||||
Timer.Enabled := false;
|
|
||||||
TrackGrid.Enabled := true;
|
|
||||||
lblInfo.Enabled := true;
|
|
||||||
TrackGrid.Row := FCurrPtIndex + 1;
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.clbTrackColorChange(Sender: TObject);
|
procedure TMainForm.UpdateInfo;
|
||||||
begin
|
begin
|
||||||
MapView.DefaultTrackColor := clbTrackColor.Selected;
|
ZoomLabel.Caption := 'Zoom ' + MapView.Zoom.ToString;
|
||||||
{ or:
|
end;
|
||||||
if FTrack <> nil then
|
|
||||||
|
procedure TMainForm.CheckBox1Change(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
FTrack.LineColor := clbTrackColor.Selected;
|
FTrack1.Visible := Checkbox1.Checked;
|
||||||
MapView.Engine.Redraw;
|
MapView.Engine.Redraw;
|
||||||
end;
|
end;
|
||||||
}
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.InfoCaption;
|
procedure TMainForm.CheckBox2Change(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
lblMapCenter.Caption := Format('MapCenter: Lat %s, Lon %s, Zoom %d', [
|
FTrack2.Visible := Checkbox2.Checked;
|
||||||
LatToStr(MapView.Center.Lat, true), LonToStr(MapView.Center.Lon, true), MapView.Zoom
|
MapView.Engine.Redraw;
|
||||||
]);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.LoadGPXSampleFile;
|
procedure TMainForm.CheckBox3Change(Sender: TObject);
|
||||||
const
|
begin
|
||||||
GPX_FILE_NAME = '../../grand_canyon_trail.gpx';
|
FTrack3.Visible := Checkbox3.Checked;
|
||||||
// file 972150.gpx from https://www.summitpost.org/grand-canyon-in-a-day/972150
|
MapView.Engine.Redraw;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.ComboBox1Change(Sender: TObject);
|
||||||
|
begin
|
||||||
|
MapView.MapProvider := Combobox1.Text;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TMainForm.LoadGPXFile(AFileName: String;
|
||||||
|
AColor: TColor; AWidth: Double): TGPSTrack;
|
||||||
var
|
var
|
||||||
reader: TGpxReader;
|
reader: TGpxReader;
|
||||||
b: TRealArea;
|
|
||||||
i: Integer;
|
|
||||||
id: Integer;
|
id: Integer;
|
||||||
begin
|
begin
|
||||||
reader := TGpxReader.Create;
|
reader := TGpxReader.Create;
|
||||||
try
|
try
|
||||||
id := reader.LoadFromFile(GPX_FILE_NAME, MapView.GPSItems, b);
|
id := reader.LoadFromFile(AFileName, MapView.GPSItems);
|
||||||
FTrack := MapView.GpxItems.FindTrackByID(id);
|
Result := MapView.GpsItems.FindTrackByID(id);
|
||||||
MapView.Engine.ZoomOnArea(b);
|
Result.LineColor := AColor;
|
||||||
// FTrack := MapView.GpsItems.GetObjectsInArea(b).Items[0] as TGpsTrack;
|
Result.LineWidth := AWidth;
|
||||||
|
|
||||||
FCurrPtIndex := 0;
|
|
||||||
FCurrPt := TGpsPoint.Create(0, 0);
|
|
||||||
FCurrPt.Assign(FTrack.Points[FCurrPtIndex]);
|
|
||||||
FCurrPt.Name := Format('Time: %s'+LineEnding+'Elevation: %.0fm', [
|
|
||||||
TimeToStr(FCurrPt.DateTime), FCurrPt.Elevation
|
|
||||||
]);
|
|
||||||
MapView.GPSItems.Add(FCurrPt, _TRACK_PT_);
|
|
||||||
|
|
||||||
// Show track points in grid
|
|
||||||
TrackGrid.RowCount := FTrack.Points.Count + 1;
|
|
||||||
for i := 0 to FTrack.Points.Count-1 do
|
|
||||||
begin
|
|
||||||
TrackGrid.Cells[1, i+1] := LatToStr(FTrack.Points[i].Lat, true);
|
|
||||||
TrackGrid.Cells[2, i+1] := LonToStr(FTrack.Points[i].Lon, true);
|
|
||||||
TrackGrid.Cells[3, i+1] := FormatFloat('0', FTrack.Points[i].Elevation)+'m';
|
|
||||||
TrackGrid.Cells[4, i+1] := FormatDateTime('hh:nn:ss', FTrack.points[i].DateTime);
|
|
||||||
end;
|
|
||||||
finally
|
finally
|
||||||
reader.Free;
|
reader.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.MapViewCenterMove(Sender: TObject);
|
|
||||||
begin
|
|
||||||
InfoCaption;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.MapViewZoomChange(Sender: TObject);
|
|
||||||
begin
|
|
||||||
InfoCaption;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.MoveTrackPointToIndex(ANewIndex: Integer);
|
|
||||||
begin
|
|
||||||
if (ANewIndex < 0) or (ANewIndex >= FTrack.Points.Count) then
|
|
||||||
exit;
|
|
||||||
FCurrPtIndex := ANewIndex;
|
|
||||||
FCurrPt.Assign(FTrack.Points[FCurrPtIndex]);
|
|
||||||
FCurrPt.Name := Format('Time: %s'+LineEnding+'Elevation: %.0fm', [
|
|
||||||
TimeToStr(FCurrPt.DateTime), FCurrPt.Elevation
|
|
||||||
]);
|
|
||||||
MapView.Engine.Redraw;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.TrackGridClick(Sender: TObject);
|
|
||||||
begin
|
|
||||||
MoveTrackPointToIndex(TrackGrid.Row-1);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.TrackGridPrepareCanvas(sender: TObject; aCol, aRow: Integer;
|
|
||||||
aState: TGridDrawState);
|
|
||||||
var
|
|
||||||
ts: TTextStyle;
|
|
||||||
grid: TStringGrid;
|
|
||||||
begin
|
|
||||||
grid := Sender as TStringGrid;
|
|
||||||
ts := grid.Canvas.TextStyle;
|
|
||||||
ts.Alignment := taCenter;
|
|
||||||
grid.Canvas.TextStyle := ts;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TMainForm.TimerTimer(Sender: TObject);
|
|
||||||
begin
|
|
||||||
MoveTrackPointToIndex(FCurrPtIndex + 1);
|
|
||||||
if FCurrPtIndex >= FTrack.Points.Count-1 then
|
|
||||||
begin
|
|
||||||
Timer.Enabled := false;
|
|
||||||
cbAutoTrace.Checked := false;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user