From 77fcea1a54d56ff81023b95fdb0151e34e063567 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Wed, 29 Sep 2021 16:45:18 +0000 Subject: [PATCH] LazMapViewer: Fix colored_tracks demo. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8103 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../colored_tracks/coloredtracks_demo.lpi | 46 +- .../examples/colored_tracks/main.lfm | 423 ++++-------------- .../examples/colored_tracks/main.pas | 209 +++------ 3 files changed, 190 insertions(+), 488 deletions(-) diff --git a/components/lazmapviewer/examples/colored_tracks/coloredtracks_demo.lpi b/components/lazmapviewer/examples/colored_tracks/coloredtracks_demo.lpi index d66cbe323..5661a0327 100644 --- a/components/lazmapviewer/examples/colored_tracks/coloredtracks_demo.lpi +++ b/components/lazmapviewer/examples/colored_tracks/coloredtracks_demo.lpi @@ -4,6 +4,9 @@ + + + <Scaled Value="True"/> @@ -12,10 +15,9 @@ <XPManifest> <DpiAware Value="True"/> </XPManifest> - <Icon Value="0"/> </General> - <BuildModes> - <Item Name="Default" Default="True"/> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> </BuildModes> <PublishOptions> <Version Value="2"/> @@ -24,32 +26,34 @@ <RunParams> <FormatVersion Value="2"/> </RunParams> - <RequiredPackages> - <Item> + <RequiredPackages Count="2"> + <Item1> <PackageName Value="lazMapViewerPkg"/> - </Item> - <Item> + </Item1> + <Item2> <PackageName Value="LCL"/> - </Item> + </Item2> </RequiredPackages> - <Units> - <Unit> + <Units Count="2"> + <Unit0> <Filename Value="coloredtracks_demo.lpr"/> <IsPartOfProject Value="True"/> - </Unit> - <Unit> + <UnitName Value="ColoredTracks_Demo"/> + </Unit0> + <Unit1> <Filename Value="main.pas"/> <IsPartOfProject Value="True"/> <ComponentName Value="MainForm"/> + <HasResources Value="True"/> <ResourceBaseClass Value="Form"/> - </Unit> + </Unit1> </Units> </ProjectOptions> <CompilerOptions> <Version Value="11"/> <PathDelim Value="\"/> <Target> - <Filename Value="coloredtracks_demo"/> + <Filename Value="bin\$(TargetCPU)-$(TargetOS)\coloredtracks_demo"/> </Target> <SearchPaths> <IncludeFiles Value="$(ProjOutDir)"/> @@ -64,16 +68,16 @@ </Linking> </CompilerOptions> <Debugging> - <Exceptions> - <Item> + <Exceptions Count="3"> + <Item1> <Name Value="EAbort"/> - </Item> - <Item> + </Item1> + <Item2> <Name Value="ECodetoolError"/> - </Item> - <Item> + </Item2> + <Item3> <Name Value="EFOpenError"/> - </Item> + </Item3> </Exceptions> </Debugging> </CONFIG> diff --git a/components/lazmapviewer/examples/colored_tracks/main.lfm b/components/lazmapviewer/examples/colored_tracks/main.lfm index 6f29d95b8..6fc421a69 100644 --- a/components/lazmapviewer/examples/colored_tracks/main.lfm +++ b/components/lazmapviewer/examples/colored_tracks/main.lfm @@ -1,371 +1,138 @@ object MainForm: TMainForm Left = 285 - Height = 600 + Height = 619 Top = 131 - Width = 1000 - Caption = 'Grand Canyon Hike' - ClientHeight = 600 - ClientWidth = 1000 + Width = 933 + Caption = 'MainForm' + ClientHeight = 619 + ClientWidth = 933 OnActivate = FormActivate LCLVersion = '2.3.0.0' object MapView: TMapView Left = 0 - Height = 600 + Height = 536 Top = 0 - Width = 606 + Width = 933 Align = alClient CachePath = '../../../../cache/' - DefaultTrackColor = 140 - DefaultTrackWidth = 3 DownloadEngine = MapView.BuiltInDLE DrawingEngine = MapView.BuiltInDE - Font.CharSet = ANSI_CHARSET Font.Color = clBlack - Font.Pitch = fpVariable 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 end object Panel1: TPanel - Left = 619 - Height = 584 - Top = 8 - Width = 373 - Align = alRight + Left = 8 + Height = 67 + Top = 544 + Width = 917 + Align = alBottom + AutoSize = True BorderSpacing.Around = 8 BevelOuter = bvNone - ClientHeight = 584 - ClientWidth = 373 + ClientHeight = 67 + ClientWidth = 917 TabOrder = 1 - object TrackGrid: TStringGrid + object CheckBox1: TCheckBox AnchorSideLeft.Control = Panel1 - AnchorSideTop.Control = lblInfo + AnchorSideTop.Control = Label2 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 Height = 19 - Top = 565 - Width = 150 - Anchors = [akLeft, akBottom] - BorderSpacing.Top = 8 - Caption = 'Trace track automatically' - OnChange = cbAutoTraceChange + Top = 19 + Width = 155 + Caption = 'Trans-Yosemite Tour (red)' + Checked = True + OnChange = CheckBox1Change + 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 end - object Label1: TLabel - AnchorSideLeft.Control = Panel1 - AnchorSideTop.Control = clbTrackColor - AnchorSideTop.Side = asrCenter - Left = 0 - Height = 15 - Top = 539 - Width = 60 - BorderSpacing.Right = 8 - Caption = 'Track color:' - end - object clbTrackColor: TColorBox - AnchorSideLeft.Control = Label1 + object CheckBox3: TCheckBox + AnchorSideLeft.Control = CheckBox2 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 + 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 lblInfo: TLabel - AnchorSideLeft.Control = Panel1 - AnchorSideTop.Control = Bevel1 - AnchorSideTop.Side = asrBottom + object ZoomLabel: TLabel + AnchorSideTop.Control = CheckBox1 + AnchorSideTop.Side = asrCenter AnchorSideRight.Control = Panel1 AnchorSideRight.Side = asrBottom - Left = 0 + Left = 857 Height = 15 - Top = 35 - Width = 373 - Anchors = [akTop, akLeft, akRight] - BorderSpacing.Top = 8 - Caption = 'Click on row to display point in map' + Top = 21 + Width = 60 + Anchors = [akTop, akRight] + Caption = 'ZoomLabel' end - object lblMapCenter: TLabel + object Label2: 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: -' + 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 Bevel1: TBevel - AnchorSideLeft.Control = Panel1 - AnchorSideTop.Control = lblMapCenter + object ComboBox1: TComboBox + AnchorSideLeft.Control = Label1 + AnchorSideLeft.Side = asrBottom + AnchorSideTop.Control = CheckBox1 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 + 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 + AnchorSideLeft.Control = Panel1 + AnchorSideTop.Control = ComboBox1 + AnchorSideTop.Side = asrCenter + Left = 0 + Height = 15 + Top = 48 + Width = 71 + BorderSpacing.Right = 8 + Caption = 'Map provider' 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 diff --git a/components/lazmapviewer/examples/colored_tracks/main.pas b/components/lazmapviewer/examples/colored_tracks/main.pas index e44579f83..7f1a545e9 100644 --- a/components/lazmapviewer/examples/colored_tracks/main.pas +++ b/components/lazmapviewer/examples/colored_tracks/main.pas @@ -5,41 +5,35 @@ unit main; interface uses - Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, - Grids, StdCtrls, ColorBox, mvMapViewer, mvGpsObj; + Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls, + mvMapViewer, mvGpsObj, mvGpx; type { TMainForm } TMainForm = class(TForm) - Bevel1: TBevel; - cbAutoTrace: TCheckBox; - clbTrackColor: TColorBox; + CheckBox1: TCheckBox; + CheckBox2: TCheckBox; + CheckBox3: TCheckBox; + ComboBox1: TComboBox; Label1: TLabel; - lblInfo: TLabel; - lblMapCenter: TLabel; + ZoomLabel: TLabel; + Label2: TLabel; MapView: TMapView; Panel1: TPanel; - Splitter1: TSplitter; - TrackGrid: TStringGrid; - Timer: TTimer; - procedure cbAutoTraceChange(Sender: TObject); - procedure clbTrackColorChange(Sender: TObject); + procedure CheckBox1Change(Sender: TObject); + procedure CheckBox2Change(Sender: TObject); + procedure CheckBox3Change(Sender: TObject); + procedure ComboBox1Change(Sender: TObject); procedure FormActivate(Sender: TObject); - procedure MapViewCenterMove(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 - FTrack: TGpsTrack; - FCurrPt: TGpsPoint; - FCurrPtIndex: Integer; - procedure InfoCaption; - procedure LoadGPXSampleFile; - procedure MoveTrackPointToIndex(ANewIndex: Integer); + FTrack1: TGpsTrack; + FTrack2: TGpsTrack; + FTrack3: TGpsTrack; + function LoadGPXFile(AFileName: String; AColor: TColor; AWidth: Double): TGPSTrack; + procedure UpdateInfo; public @@ -50,163 +44,100 @@ var implementation -uses - mvTypes, mvEngine, mvGpx; - {$R *.lfm} -const - _TRACK_PT_ = 10; +uses + 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 } procedure TMainForm.FormActivate(Sender: TObject); var crs: TCursor; + totalArea: TRealArea; + trackArea: TRealArea; begin crs := Screen.Cursor; Screen.Cursor := crHourglass; 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; - // Center on Grand Canyon Village - MapView.Zoom := 13; - MapView.Center := RealPoint(DMSToDeg(36, 4, 32.2), -DMSToDeg(112, 7, 17.4)); + // Load GPX files + FTrack1 := LoadGPXFile(FILENAME1, clRed, 1.0); + 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 - LoadGPXSampleFile; + FTrack3 := LoadGPXFile(FILENAME3, clBlack, 0.5); + FTrack3.GetArea(trackArea); + ExtendArea(totalArea, trackArea); + + MapView.ZoomOnArea(totalArea); + UpdateInfo; finally Screen.Cursor := crs; end; end; -procedure TMainForm.cbAutoTraceChange(Sender: TObject); +procedure TMainForm.MapViewZoomChange(Sender: TObject); begin - if cbAutoTrace.Checked then - 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; + UpdateInfo; end; -procedure TMainForm.clbTrackColorChange(Sender: TObject); +procedure TMainForm.UpdateInfo; begin - MapView.DefaultTrackColor := clbTrackColor.Selected; - { or: - if FTrack <> nil then - begin - FTrack.LineColor := clbTrackColor.Selected; - MapView.Engine.Redraw; - end; - } + ZoomLabel.Caption := 'Zoom ' + MapView.Zoom.ToString; end; -procedure TMainForm.InfoCaption; +procedure TMainForm.CheckBox1Change(Sender: TObject); begin - lblMapCenter.Caption := Format('MapCenter: Lat %s, Lon %s, Zoom %d', [ - LatToStr(MapView.Center.Lat, true), LonToStr(MapView.Center.Lon, true), MapView.Zoom - ]); + FTrack1.Visible := Checkbox1.Checked; + MapView.Engine.Redraw; end; -procedure TMainForm.LoadGPXSampleFile; -const - GPX_FILE_NAME = '../../grand_canyon_trail.gpx'; - // file 972150.gpx from https://www.summitpost.org/grand-canyon-in-a-day/972150 +procedure TMainForm.CheckBox2Change(Sender: TObject); +begin + FTrack2.Visible := Checkbox2.Checked; + MapView.Engine.Redraw; +end; + +procedure TMainForm.CheckBox3Change(Sender: TObject); +begin + FTrack3.Visible := Checkbox3.Checked; + 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 reader: TGpxReader; - b: TRealArea; - i: Integer; id: Integer; begin reader := TGpxReader.Create; try - id := reader.LoadFromFile(GPX_FILE_NAME, MapView.GPSItems, b); - FTrack := MapView.GpxItems.FindTrackByID(id); - MapView.Engine.ZoomOnArea(b); -// FTrack := MapView.GpsItems.GetObjectsInArea(b).Items[0] as TGpsTrack; - - 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; + id := reader.LoadFromFile(AFileName, MapView.GPSItems); + Result := MapView.GpsItems.FindTrackByID(id); + Result.LineColor := AColor; + Result.LineWidth := AWidth; finally reader.Free; 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.