LazMapViewer: Add MarkerClickPlugin and demo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9685 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
12914ebd4b
commit
a1e91b1045
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="12"/>
|
||||
<PathDelim Value="\"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<Title Value="MarkerClick_Demo"/>
|
||||
<Scaled Value="True"/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<XPManifest>
|
||||
<DpiAware Value="True"/>
|
||||
</XPManifest>
|
||||
</General>
|
||||
<BuildModes>
|
||||
<Item Name="Default" Default="True"/>
|
||||
</BuildModes>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<UseFileFilters Value="True"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
</RunParams>
|
||||
<RequiredPackages>
|
||||
<Item>
|
||||
<PackageName Value="lazMapViewerPkg"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item>
|
||||
</RequiredPackages>
|
||||
<Units>
|
||||
<Unit>
|
||||
<Filename Value="MarkerClick_Demo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
</Unit>
|
||||
<Unit>
|
||||
<Filename Value="main.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="MainForm"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="Main"/>
|
||||
</Unit>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="11"/>
|
||||
<PathDelim Value="\"/>
|
||||
<Target>
|
||||
<Filename Value="MarkerClick_Demo"/>
|
||||
</Target>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||
</SearchPaths>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<DebugInfoType Value="dsDwarf3"/>
|
||||
</Debugging>
|
||||
<Options>
|
||||
<Win32>
|
||||
<GraphicApplication Value="True"/>
|
||||
</Win32>
|
||||
</Options>
|
||||
</Linking>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions>
|
||||
<Item>
|
||||
<Name Value="EAbort"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item>
|
||||
<Item>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
@ -0,0 +1,28 @@
|
||||
program MarkerClick_Demo;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
{$IFDEF UNIX}
|
||||
cthreads,
|
||||
{$ENDIF}
|
||||
{$IFDEF HASAMIGA}
|
||||
athreads,
|
||||
{$ENDIF}
|
||||
Interfaces, // this includes the LCL widgetset
|
||||
Forms, main
|
||||
{ you can add units after this };
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
RequireDerivedFormResource := True;
|
||||
Application.Scaled:=True;
|
||||
{$PUSH}{$WARN 5044 OFF}
|
||||
Application.MainFormOnTaskbar := True;
|
||||
{$POP}
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TMainForm, MainForm);
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
@ -0,0 +1,355 @@
|
||||
object MainForm: TMainForm
|
||||
Left = 576
|
||||
Height = 426
|
||||
Top = 248
|
||||
Width = 653
|
||||
Caption = 'Marker Click Demo'
|
||||
ClientHeight = 426
|
||||
ClientWidth = 653
|
||||
LCLVersion = '4.99.0.0'
|
||||
OnCreate = FormCreate
|
||||
object MapView: TMapView
|
||||
Left = 0
|
||||
Height = 340
|
||||
Top = 0
|
||||
Width = 653
|
||||
Align = alClient
|
||||
Cyclic = True
|
||||
DownloadEngine = MapView.BuiltInDLE
|
||||
DrawingEngine = MapView.BuiltInDE
|
||||
Layers = <>
|
||||
Font.Color = clBlack
|
||||
MapProvider = 'Open Topo Map'
|
||||
PluginManager = PluginManager
|
||||
POIImages = POI_Images
|
||||
end
|
||||
object Bevel1: TBevel
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideLeft.Side = asrCenter
|
||||
Left = 323
|
||||
Height = 50
|
||||
Top = 108
|
||||
Width = 6
|
||||
Shape = bsSpacer
|
||||
end
|
||||
object Panel1: TPanel
|
||||
Left = 0
|
||||
Height = 86
|
||||
Top = 340
|
||||
Width = 653
|
||||
Align = alBottom
|
||||
AutoSize = True
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 86
|
||||
ClientWidth = 653
|
||||
TabOrder = 1
|
||||
object cgPointTypes: TCheckGroup
|
||||
AnchorSideLeft.Control = Panel1
|
||||
AnchorSideTop.Control = Panel1
|
||||
Left = 8
|
||||
Height = 70
|
||||
Top = 8
|
||||
Width = 355
|
||||
AutoFill = True
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 8
|
||||
Caption = 'Allowed point types'
|
||||
ChildSizing.LeftRightSpacing = 8
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.HorizontalSpacing = 10
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 3
|
||||
ClientHeight = 50
|
||||
ClientWidth = 351
|
||||
Columns = 3
|
||||
Items.Strings = (
|
||||
'GPSPointOfInterest'
|
||||
'GPSTrackPoint'
|
||||
'GPSAreaPoint'
|
||||
'MapPointOfInterest'
|
||||
'MapTrackPoint'
|
||||
'MapAreaPoint'
|
||||
)
|
||||
TabOrder = 0
|
||||
OnItemClick = cgPointTypesItemClick
|
||||
Data = {
|
||||
06000000020202020202
|
||||
}
|
||||
end
|
||||
object Label2: TLabel
|
||||
AnchorSideLeft.Control = cgPointTypes
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = Label1
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 379
|
||||
Height = 15
|
||||
Top = 23
|
||||
Width = 91
|
||||
BorderSpacing.Left = 16
|
||||
Caption = 'blue: MAP points'
|
||||
Color = clBlue
|
||||
Font.Color = clBlue
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
object Label1: TLabel
|
||||
AnchorSideLeft.Control = cgPointTypes
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = cgPointTypes
|
||||
Left = 379
|
||||
Height = 15
|
||||
Top = 8
|
||||
Width = 80
|
||||
BorderSpacing.Left = 16
|
||||
Caption = 'red: GPS points'
|
||||
Font.Color = clRed
|
||||
ParentColor = False
|
||||
ParentFont = False
|
||||
end
|
||||
end
|
||||
object PluginManager: TMvPluginManager
|
||||
Left = 401
|
||||
Top = 74
|
||||
end
|
||||
object POI_Images: TImageList
|
||||
Height = 32
|
||||
Width = 32
|
||||
Left = 400
|
||||
Top = 136
|
||||
Bitmap = {
|
||||
4C7A010000002000000020000000490500000000000078DAD597678894571486
|
||||
ED1515C55ED6151B566C5831D862051511DDD87ED810B104438C0D05B145412C
|
||||
885D04A3464111835D443016AC089AFCB060D9154554766766676766F77B72DE
|
||||
7B6759C91F677535E4C761BEF9BE7BCF7BCF39EF79EFBD4029FE27969F9F9F1E
|
||||
8D461785C3E1F33939395966B1A465E99DBE151414342D695CF90C8542870CA7
|
||||
20949D4DE4FE7DA2C78F13DBB387D8AE5D448F1C2172E70EFAE6C68442BFDB9C
|
||||
B492C0CECBCBFBC17C86426FDF123B708060D224183204060D827EFDA04F1FE8
|
||||
D1033A7726183890D8A64D84DEBCC1D610B2B913BE04DBF2F99361937BF326C1
|
||||
D4A9307AB4B7912361F870183C18FAF7F76BE8DE1D3A7582B66D09EC7FEEA54B
|
||||
CA05E663C167C63DC1CDBF7001C68F8771E3FCAF6CEC58BF8E1123FC1A9487DE
|
||||
BDA15B37E8D0015AB786162D881E3EECD650DC3CA876CA9FE276B81919307932
|
||||
4C99E26DE244B05A70F52A5CB9023B7742DFBEBE0ECA419B36D0BC39A4A7937B
|
||||
F1A2AB45717869C30FABDEC1B4691E5FD8CAFF8C19307DBAC7CECD8563C7E0E8
|
||||
518844C0EA4EAF5ED0A50BB46BE7E2272D8DC0D6137AFD5A6B389462ECE9E2B0
|
||||
B8E672AC7C2F5C08B76E81719C7BF72091800D1BFC378D59B60CE271B87C1954
|
||||
AFB3677D5D9A5AC8F5EB93B76E9DEB0BEBDFA629706E91FA2850CC85F85BB762
|
||||
01C0E9D3DEB66C01E566F56A58B102468D82A54B61FF7EB09EE4C3079837CFE5
|
||||
5FF88171423ECDF72F9FC2978EA8BF5D8F89E7E2DAE6CD9095E573AF1A2C5E0C
|
||||
561F5703E5DEF2EB6AA43E10079F3C29C26FD0006AD52272E306E6FBDCA7F0A5
|
||||
65D216D7DFEA31E560E346C8CC2CE2DFC38770FDBAE7E598319E83B76F17F540
|
||||
217E32FFD4AC4974F76ED5203305FC58CCC6BA9E520DD563EBD7C3CB9745FDA7
|
||||
FAABE6CABBD6B86081AF7FCF9E9E7FC29F3BD7F18F7AF51C7ECC6A25DF29E0C7
|
||||
63EA27E552DAA235AC59032F5E14E9CFAB57B0776F91066DDFEED757A8418F1F
|
||||
C39C39D0B831D4AD0B356A105BB54AF8F114F033A5E7AE97B506E561E54A78FE
|
||||
1C860DF3B676ADCF81F5B6E3BB9E972CF1B14B7F843F7B36346C08B56B43B56A
|
||||
446D9F4825FFE248E4EE5DA7E72E1ED574F97278F60C060C00D378F7ABFA9E3C
|
||||
09274EC0CC99D0B52B74ECE8B5E7D1239835CBD7DEB847D5AA85FC3B9342FF2D
|
||||
946606E29F72293E89EFEA29F556A189231693D33EE57FDB36DFA7D2A177EFFC
|
||||
9AEAD471B90F5AB52ADC0B7E4E457B6D6C7E4CBE6C2F71F914CFCE9DF3B9FED8
|
||||
CE9FF7A66F67CE786D3875CAE7455A68BC53EC799E7BF9E6BB492A1A1889440E
|
||||
6A0F0DA4E9DA4B945369AAD6A21CCBF4AC77FAA63149BDA75123CF79E5DDEA1E
|
||||
B46CE9F4D77CFE568C734E135B6F4EAEF4547E65D273CBA3C392E9D97CBB6FCD
|
||||
9AF95E13DFC4F724B62CD7F2235FE633AD98FB6F86DB3B77ECF07D24FFD213C5
|
||||
28D3B3DEE99B70C535D55B391776E5CAE4191792FB6FC6679E3FD6697E7CFE7C
|
||||
1F973064D254FD2ACF7AAF1E53CCC635D59B4A9588DBFE90E4DCAF9F7BFE0982
|
||||
A08CF5CC1FA1F7EFC91F3AD4C7261356E1B33015AF702D662A5420DF7813B21E
|
||||
B0B9A7E4E34BCE6036BF7A7676F65F61EBFF4075AF52C563C9F42CCC8A15A17C
|
||||
79285B96C06A127EFA54B1FFADB92571064D24122DCCDFBB88F69CEAE6B25C39
|
||||
6F8647190BAF74691B55CAAD2772ED9ACE1AEF6D4ECB923C83C7E3F1EF45E3E8
|
||||
C18345781F9BBD8BDA99456334F66BDC3F8C4BF3C5A998B4FE5FF831D3C824DF
|
||||
7EFC9A7720D3913D39769649481393D8093BA724EF1EFBBEF61DCC3855C178FD
|
||||
A734ADC034B0A07D7BA76FF6EEAA7DABF88DEE81752DD617613B07851F3C10DF
|
||||
5EDABB7ADFF22E6AFCEEA22B824CCFFFC57DD870BF937D898F7F0027F7CB1B
|
||||
}
|
||||
BitmapAdv = {
|
||||
4C69020000004C7A010000003000000030000000F80800000000000078DAED9A
|
||||
098C54551686610454105041C40D706B3710F785CD0D10B75614DC701715A545
|
||||
13F78E81A82123288B0D8A3AC608AE719498A8D161C264CCE0AE710471C1489B
|
||||
89318DD82ADDB57657D53FE7BBF7DDAE47D3CE64AA179A645E725255EFDD77EF
|
||||
7FCFF9CF7FCF7DAF2475D1FF2D58D76C365B66566E56615619594574AEAC1362
|
||||
FE432693195F5F5FBFACAEAE6E8399FE8BD558DBA5369771DCBB357D9D4824A6
|
||||
189EB5CD31D66FDCA8E4175F28F9D1474A7EF8A192AB57BB732DCC655D32999C
|
||||
425F1D893D97CB95990F5735E1D8B449A90F3E50C3C30F2B7FC515D2A9A74A27
|
||||
9D248D1A259D78A274DC71D231C7285F5EAE869933957AE71D774F6C1EFFA0CF
|
||||
8EC06EFE9A5CE70F37767AC50AE56FBC513AF34CE98C33A4D34F97C619354E3B
|
||||
4D3AF96469F46869C408E9F8E3A5A38F96860F970E3B4C796B977EF5D562CCEC
|
||||
48A55293DB13BBF53FC3C62A305EA2BA5AB97BEE91CE3DB768E65F9D7DB69F0B
|
||||
F3183B563AE594E21C88C3514749871F2E1D7AA85456A6DCC5172BB16E5D9847
|
||||
C1C6B8B99DB04F0DBE4A7DFCB10A975F2E5D7081346952D1CE3F5F3AEF3C3F8F
|
||||
B3CE92264CF0B10873804BC71E2B1D79A43474A874F0C1D20107A8603149AD5C
|
||||
D9140B8BF1756D89DDB4628CF59B73D8DF7D57BAE82269F264FF69FED32597F8
|
||||
CF709E79108F3007E20097468EDC9C47510CB4EFBE6E1EA937DE087368344D1B
|
||||
DD46B9DAD7A8F983F3CB9A351E2B18C13BC5A4833804E337D76FB9457AE925E9
|
||||
C517A5E79F97962D93C8EB31635A8EC1FEFB4B8307BB39244D07A27CF881B1DB
|
||||
803755AEBF9F7E52E1861B3C4F02F62BAF94AEBE5ABAE61AFFC9EF9B8DBE3FFF
|
||||
AC2D8E0D1B3CDF420C421E1C728874E081D29021D25E7BA960D7EA6B6A028FAA
|
||||
5A897D88F5D3405FD9254BA48913BDEF2FBDD4FB13DCD71955AFBFDEDB4D3749
|
||||
96D7EE78ED35E9BEFB24D34BBDFCB23FF7CD37D2F8F1D20927383DDD8243FBEC
|
||||
230D1CA8ECDD7737F1289D4E0F6E85565605AD717909AF2FBCD0FB1E8E80F1F5
|
||||
D7A537DF948CBBFAFA6B8FD3F4DDCD91B9326734E9ADB7FCB5CF3E939E7A4A7A
|
||||
F249E9F1C7A5458BFC3AB1DF7E1EFF1E7B487BEEA984CDB53531C8E7F33D8C83
|
||||
B5F4D1F0E8A3D239E76C8EDFB4BBC563ED5A1F17DAD0967BB8975CFEF4D396EF
|
||||
59B8D0E7C0A0410EBB76DB4DD93BEF0C31A8054B099A33C1F1FEB7DF544057F0
|
||||
619C3FCB97FBB15F7945AAAAF2367FBEC45A461ECC9A253DFBACF4CC33D2EDB7
|
||||
7B1D625DB8F5561FBB8A0A69C102DF073108391CE12F18A7EA7FFDD5CDC1B08C
|
||||
2F813B735DFC3EF9C47316FFA189E420F91BFCFFD04345FE930BD3A74B9F7FBE
|
||||
A58FAD1672F7535784B58CF62DE11F3040DA651725A9333C87E6FCAFF8EDBEBF
|
||||
726F06ED43BFA90DE04188017EE778F0C1CD3528602757C1F5C823D2575FF973
|
||||
A68D4E43C18F86FE1E7EF33FF833E69B88437F2901FFF78EFBB367FB7A8C1810
|
||||
7F7C08A783A6703DE83F7A13B01323DAB116635F7EE9AFA1C1AC01E8CFD4A99B
|
||||
E38FF15F3BEFAC066B1BE1AF2E017F3DF7E66EBBCDAF9DC4000E071EB13E7180
|
||||
39ACC1CF3D57C413D660F286FBE6CE2D5E0B6B70C04FEEC4F5A77F7F87BFD1FA
|
||||
88F0D795803FEFF0938FD42ED430D432610E2FBCE0C746DF43FDB37469114FC0
|
||||
0EEFB86FCE9CE2B550C7C1B9700EFDDF7B6FA7FFEAD74FEADB57391B2BC29F2B
|
||||
017FC2E19F31C3F335CC8138505B065F575616EBCF3BEEF0E7E03BBF992BBCC3
|
||||
D0550E30C39D238EF0F9C2418EC07D5B7FB5FBEED2AEBB4A7DFA28677D44F813
|
||||
25E0AF76FCC7BFC43BCC012E51DB93D71C77DDE5F3829860E80C077C479BF07B
|
||||
C0BE6A95CFDB503B5C755551FFE3DCB7DC55EFDE6A304D8BF0AF2F597F582BE1
|
||||
2A3127EF582BD140749D83FC083EC6D02774A6F901767420B68771350807EB40
|
||||
E04EC47DF5EA15D79F1525D43E7F74DAFBFEFB7E3CC6C577D42EC4E2E9A7FDD8
|
||||
AC47F00A031F9FC468DA3469F1629FAFD75EEBE74F1FF086BA93BAEDB2CB7C1F
|
||||
AC7B41F723EEA867CF26FD372CB34B587FC785BD6D01CD660ED4BC70172CC425
|
||||
F88EBA2D6EE43CF831D6357406DEC3177C1EEAECA0B7F3E66DEEFB9D7652C1F2
|
||||
A1CED6FE68FD1D5B42DDDF3DD43F59349E780F1BE6FD077FA947DBEA2047E07D
|
||||
CCF759D382681F500B9612EBE7F9AEFEFCF65B8F9D988779A043D475D4904F3C
|
||||
B1A5719E39628F3DE6DBC227B412BD2167E10DD8C9E54833F13D9F09AB65A3DA
|
||||
615E2BF65E83AD8FAC8BC1FDF7FB7DC6410715E7018F990BE3C3AF60FCE63CD7
|
||||
69477BEEE37ED629F62AAC55701EBD0CBC31CDD18E3B2A6BF55E94B759C330A8
|
||||
95CF4B16B838DAFEA9405EB2CE83833D47980B7B90E6C679F686B4A33DF7B146
|
||||
A1F3680DEB6CC01EE925BC29D87C192BCADB856DB0FFED6D7DFDABA9160533FE
|
||||
C38F60B23DABC317E614F0729EEBB40BB8F1396B14B98AD6C099E077C3EE6ACE
|
||||
68FFCB9836769FB6D8C367329911ECE5DCF32AEA36FC0716D61C70311F30C68D
|
||||
735CA30DEDC11D7C1E72358E7D871D94B6FD42ECF9C388367EFE333D3C9FC93E
|
||||
F080F721FC0517F89A1BE731DAD036E0C6E7F025E42AD8B7DF3EBEE725672BDA
|
||||
E919D692B02634A2E1E0810760C3C019B0625CA30D1C8FE3C6E7B6BE92ABEAD1
|
||||
438DB6AF08CF436D8C3FB5E373DB6EA6C77F77F95C53A33CF50498E002F8E2C6
|
||||
398CEBF0045D8FE3369FAB7B77E54DA3EA7FFC31FE1CB77B3B3F7BEE1FF63609
|
||||
ABCB0AF01C6CC1F06FF80E5E3802667812C3ADEDB653C1E29258B32660FFDEFA
|
||||
1ED011CFA0D3E9F4B0505FA7DE7EDB63051B1883F11BB3BC74988D27EAD6CDE1
|
||||
56D7AEEE7BEC7961D2F2757847BE03B01C9B189E4567584FF169730B7803E62E
|
||||
5D9A2C636B6F78E66C7D4DDA1AEF606CDC9941331AA8D1C0182C86B5B935581D
|
||||
D7F42C3B959AB535DF2119863FBB7CFEE517E5A853FF036E2C3772A4EA6B6B43
|
||||
6DB6BCA3DF1DB590CF3D0DCB3F1D9EEA6A1558AF7E073BD7EAD7AF0FD857E7F3
|
||||
F95E9DE11D6454E7B9778FACFF4E739AE3370D4ABEF75EE0CD46EEE94CEF514D
|
||||
3F468567D5699E4DC473C0BEC76A03DA8CE98CEFAFE3EF98B2F7DEDB843F5B59
|
||||
19CFD7699DF91DBCE15BD45463D85EBEB1BC3C5E1B2CEEECFF21A0C630AC2B43
|
||||
8D11DEA558BEFE8D6BDBC2FF200C673FC3FC5DECFDF4779CDB96FECB6178871A
|
||||
EE4D18DFB7C5FFA318EE81587B8EF16FEC2287AD4C7A01000000400000004000
|
||||
0000CD0D00000000000078DAED9B779014F512C70DA82046CC39670CA0A062CE
|
||||
3927CC09047926CCE8B3D43281145A8AFACA124B2D1FFE61499915C14C524CAF
|
||||
4A0554C00088A0C0C906F6367D5F7F66B6777F37DE3D79E59E049DAAAEDB9B99
|
||||
9DE96F876FF7AF6756D232FA5BFE96569262B1D8A15028EC91CBE52E983F7FFE
|
||||
209311265F9BCC3169ACC89CCA3E8E0DB273CFE73B7C7709C6BD7E369BED9D4A
|
||||
A5DE344CDF9A144DB490C2B953EDBB23172C58D08B6B2D21B89735CC5D1B1A1A
|
||||
EE31FDD3CD614BCD9BA7F4F4E94A7FFDB5D213272A3D6142FC79DAB4E8580BF6
|
||||
C8FEFAEBAFF79B2DF65C5CB1974AA5554DBFCBF19B49A909E6B973951D354A8D
|
||||
8F3DA6C24D37A978D9652A5D78A14AE79CA3D25967457F8B3D7AA8D0B7AF1A07
|
||||
0F56F6EDB7959A33276903AE39D5EE7119F75A5C7097CBE5E52D577737DDFED3
|
||||
04F3ECD9CA7EF0810AFDFB4BA79D261D7EB874D861D2218748071F2C1D78A0B4
|
||||
FFFED23EFB487BEF2DED69AEDD630FA9532769D75DA5FDF653E1FAEB957DEB2D
|
||||
A57EFCB1690CA5529FC20F76EF368B1ABFC5FB19A6D3C450BFCCE79FAB70FBED
|
||||
2A9F7DB674CC31D2D1474B471D251D71446C87430F6D6A837DF7ADD960F7DD63
|
||||
1BECB28BB4D34E2AEFB5978A975CA2CC279F246DF015F75E847E6F6FF7EF13F2
|
||||
5AFA871F947FE001E9F4D3A5134E88E5F8E36339EE38E9D863635B1C7964CD0E
|
||||
071D241D7040CD065DBBC671B0DB6EB10D76DC51DA7E7B69E79D95BFE106A5A7
|
||||
4C69C293702CBA2C02BFF7A9D4ADD8E75F7CA1E26DB749279D249D7C725361DF
|
||||
8927C67648DA807CC0069E0BE66F75E92275EE1CE741C78ED20E3B48DB6E2B6D
|
||||
BDB58AE79DA7CC471F853698830DFE44BFB7B1FB9DEE7E4F353428FBE18792E9
|
||||
A5534E914E3D35CE7762C085FF39862DDC0EE40539E171E0B9D0AD5B6C036200
|
||||
1B54F240DB6D276DB38DB4F9E6D1BEEC881161BD28A5D3E9EE70516BE38777C8
|
||||
3DB73FD84B975E1AE303EB199692DDBB4B679E5913FE673F7648DAC0E3C0F920
|
||||
CC03B82019035B6E296DB699CA162BD937DE08E36012BAB5768D33EC9F85315F
|
||||
F5BBE386F3AC9EE9DC736BC2FF56E7A2E356F774E79DD2C081D28001D23DF748
|
||||
77DD25F5EB17DBC4F3002E240F9C0BE1016260ABADA42DB69036DE388A8B8CD9
|
||||
3FAC0BA6E36AAD85DF6AEF3F42AE2B1AC757FDEED8C17BFEF9D20517D484FFD9
|
||||
CFF1175E90162CD06FB66C567AE699DFC680F30039000F9203C4C0A69B4A1B6E
|
||||
A8A2DD373D7972D506F420F461ADC0775D2BBD4D749F88E7E135F21DDF3B76F0
|
||||
5E749164FD4C24175F1CFFDFB3A7F4F4D335BC33674A336648D60BCAEA7B757B
|
||||
F0C1980FE001AF87D402CF01C76F3910C5C0061B287FD555611E4C315DBBD41B
|
||||
BFF5B403BCAFA3BE473E2797C9697C4F8CE367C76E355BBD7AC502F6871E928C
|
||||
2BA3ED9B6F24AB65BAFA6AE9CA2B63B15E38DAACEFD32DB7D46A81F74456FFA2
|
||||
1C8003C801C7BFFEFA11270635A164BAF6AFF75AC6FBF9D4AC59719DA3B6831F
|
||||
3BC071F8FE8A2BA4471E911E7D54B25E574386C4F2E493B598FFEA2BE9BAEB62
|
||||
9B613B6288BCC746D8958D73E1859B6F8E79C1FA405D7B6D6C27E2C2EA605407
|
||||
36D924F2BFD65D5705E397A04FCC98CEEBD531EF7B55F9DE7ADA325CD61CFE17
|
||||
5F94CA65B5B8653212B6E35CBEE331E4B5E0724BDD54AAE5EF974AD2C30FC7F8
|
||||
E1C00A0780BF6CDC9809EA81E9DCB35EEB77D6A17EDD029C8DAEE89CC43F7E7C
|
||||
AC672E27FDF45353318ED2FDF7C7FC90C48F2DBD16E26FEACAF7DFC7F2DD77B1
|
||||
603BB6D75F8F3920C4BF9EB97AADB554E8DD3BAC0523AC1EAE598F7AEFBCC73A
|
||||
2ED299FE0DFCC46E98FFF4416C5F7E29DD71475CE7A86DFCBDF1C69813C06F7C
|
||||
A5A143255BE7C9D6377AE289B82E829F3502D7733B79DD1C37EE77F1B33F5837
|
||||
4E31DD3BFF51FCB95CEE3CEFF5B2A347C7BD0A7D1BFD3C7D8CD77EF474FC1F7F
|
||||
1CE7B3F31FB8E1C43E7DA4E1C39BAF7FF877D8B0D8AEF4C3B6FE8B72DDFBA091
|
||||
23FF37FEB5D796D65843593BEE6B0374FFA3F82B33ABE89A8D70196B587C441F
|
||||
EF39E03160DC106DC6C5511DA0F6791DC40ED47E7298ADB1519A3A55B2F54CF4
|
||||
D9F3FBA9A7621BFFBFF8F1BFE16FB4B80B6AE1C03AE01FE1731B6617D17A05FD
|
||||
C8016C400C380F788CC203C91E88BA80DFC1F8E9A7B13D881DBECF716C562CC6
|
||||
7170EBADB51EC8D742D6EF2F0CFE82F9813CADE01F5E07FC51AFCFCC8AB94DD4
|
||||
A7D39F90ABCE0360A00F1A3B36D6913C48F6C09E1B7019751FEC5EFBB023F620
|
||||
16D8E0049F8B3487DFF99FFA97C05FB4D84CDB3D7C4D5007FCD11A97191D33AB
|
||||
A83FC506C40036F05A800DC68C8975240F926B20AF6BCF3D57C30EEFFB7A989C
|
||||
8213D9E893BCFFF3FE27893F51FFD5A183B4FAEA2A99DDD2C6BF15FCBFD4017F
|
||||
63847FC284684E17AD4FB00131E05CE83670FCC441720D9CCFC7C71E7FBC861D
|
||||
0EF55900BC426D776E08D780F4BF56DBABF8C3FE2F89DFE225FDD9678E3F5707
|
||||
FCF908BFD9B4841F894B6C00473B17782E8C1A15EB881D9273107A7DB637DF8C
|
||||
FD9F9C83F097DAE039929C8338FED75EABAD7F36DA28EE7FD759475AD34AFD6A
|
||||
ABA964F112E06FAC03FE79117EEB5B23FFE317B889991536F03840FFF7DF8F75
|
||||
A44EFADCCBE760E8CD367B76DC0B24E7607002C73C479273B010BFE73EF883DA
|
||||
17E137FDD2D63F55F0CFAB03FE4911FE69D3A2197594936E03CF05E7C4F7DE8B
|
||||
75240EC0475EB8C09DF4736CE9741CEB60A6171A3CB8C60FD444D6923EFFF1F9
|
||||
87C7C6ABAFC6B91FC67E85FBB4CA2A2A9A3DD3769F0AFE8975AB7F56530AE88A
|
||||
5E6E03CF05B7C1BBEFC63A1207F019828F9D27E9039D07A875F493ACF7F8EC79
|
||||
4F6C706DB0E37BD67DACFD43FCE43EBE073FB14FEE9BEFC15F30DE09EADF1B7F
|
||||
14BFF5D103BD9FC8E133B8184E223EC95178DA63E19D77621DB103DC404C84C2
|
||||
3ED6881CFFF9E7D81608714FCD23BEC879E73C9FFD31F780F7D85E79A569DD23
|
||||
F62BB9AF955756CE6C1CF43F03EAD0FF9E53ED7FE9D789476C401CA02B36F058
|
||||
E0381B7620261038C2C5F7911BF4C2F89A3900FD31F1E3D87DE6E5330FE65E21
|
||||
7E5FF73BEF57621FFC41FF5B30DDCFAAC3FAA7336B89E89AD60396F133BAE11F
|
||||
62143B100BE4043EF4FA4F0EFB2CD0C5F7B15608E7A2D447FA279F8D7A6DF419
|
||||
3179E4DCF2F2CBCDFBBE7D7B952D2FE6D766C2934DF74E75C0BF3A7D6475FD8B
|
||||
CF88496C402C60037C86EFA86DCE6FAC77117A3A17DF9714E641A158AF1509B3
|
||||
126492B57176EF2A7EAF79F09ED57CADBAAAD4AE9DF2164741EC0F47F73ACD3F
|
||||
7A56E71FE60766CFD12C8AF8743B10B3CC7C7C7DD31A1BD7BEEFBE1AE7277C9F
|
||||
B11E31987F5C5CC7B9F7DA76CD54540766CE5481793F9C446E120B6E0772F89A
|
||||
6BE2F916332B84FC76F17D08E720CCB5F80EB5B06FDFB81EC291CC82A899F004
|
||||
F7637DC07A92FB79DCE3FB4ADE172C8782F957CA74AEEBBB13994CA6BFF36086
|
||||
F51B3E671609376107E2C16D41CDC21E1E1BA1F87ECEE15CBEC3779DE72ACFB9
|
||||
A21ECF7B7CAF759EF3955E378A7BC3CEBE70FE69BADEDD0ACF7D78C63DB93AFF
|
||||
662D8C9EAC45DD0E1E136E0BB74728BE9F73FCD926C235B8963FDFA0C67B8FEB
|
||||
D8BDD6C3F760B7B8077FDE6225987B7D83AEADF4CCB377F5F987F56945D6EDF8
|
||||
085FA137FA27EDD19C70CC7DCDF9D8D171733D7053E3E079AF7349BF83DD38AF
|
||||
68F522F1FCA34F6B3CFFA8CC42DBDB3D3EAE3EFF220F88637C85EED8C16D0126
|
||||
8F8FA4F831CEE37CC7CD7588F796B0877E37ECC444F8FCCBE423D37195567EFE
|
||||
D9C9EE33A15A0F5E7A4965B81F9DF11B1810F080AB2571BC7CC73113EB8EDBE3
|
||||
DD793EE1F7B27D2F6BEBA400FB97F5A8F70BF3BE8BE5C16976BF72946FBFFCA2
|
||||
1CCFACD01B01070226B035271C0B317B8E7B9EBBCF5BC0AE955652EEDE7B95B2
|
||||
1EBA82BDFC673DFF0EEAC1CDE13B5E796A1898F01D0216B74973E278DDD760C6
|
||||
DF1EEB8EBBB2AE8978BE6DDBE873BE67CFD0EF19745904EFBF74B0FB3E59E543
|
||||
EBD78AF4AF6040C08380AD39F1E38E195F3BEECA5A3EE4787CAE155754D1D651
|
||||
BC3757E5A04CE6DFA6CB5A8BE21DA07C3EDFD6EACD7BD55CF8F65B9558078001
|
||||
2C6072718C2E1C0FF13A66F7B7C73A3E37DC6AD34625ABAD01D773CFD1A643BB
|
||||
45F9FE576363E39E6683EAFB5FD9E79F8F9EC545B18B38B6A4F8F110B3C7B9C7
|
||||
3A3E5F6185087BD9722BFBECB34DDEFFB2F55DB7C5E11D40B3413766ADD51ACC
|
||||
FC0A7F3B26845846C27DF8D8E3DB7D5D89F308F7F24667CB2D171D5B30746898
|
||||
F373B9E7E2F4FEE7BC79F3AE878BFC9DA83CBD7C655DD6AC80D5F18698CDD755
|
||||
DCCB2E1BFD9FB7FE9F6BFABBB00D0D0DFD16C3F79D57B498FC67950B6C2D82DE
|
||||
1126047C8ED105AC8E37C4BCCC3255C9F7E8A1D4F4E9619DBBD5EEB5D2E2FA0E
|
||||
70382B80AB4AAC75C0D59C803581379404DF91F3235BF3FDA63AC5C196E6A3B7
|
||||
ABF569ECD8D8062D606C113BEF768D1E5DC56ED77C876B2F09EFC1DB1A84B562
|
||||
43F5FD489EFB12EF0B8BDF72223B6C5898F3F3ED9A5D9604ECC15AF12453FBA7
|
||||
EAEC78D0A0980F7F0FBB9D931B38308CF9D976AD5397B4DF7F584FD6D6F4EE57
|
||||
C5316386F2BD7BFF2E7E7A5BCEADF613D9EC4D76AD764B1AFE609D30C49F21CE
|
||||
9F3B377A3E1D715F12BBEDA3B70D9E5DE4ADCE3DB1A4FFFEC9FAD3CD0CCB5B55
|
||||
3E1C37AE593E2C75ECA8CC9831618FF3AED96EF3A5E1376066830DFC3D8AC806
|
||||
E3C7ABCCDAA7829DCFD8259C61D977365E9A7E0767BDFAC9866B66950F7917AE
|
||||
D2F7C38D01F699D6DB9EB234FE16D06A1873939CBF4F941B3040B9BBEF0E733E
|
||||
677CD77D29FE2D641BC3F850F5B713B36645E2736BF3FDBF386769FE3DA8F5AF
|
||||
6B5A2FF778F2377EB66F08C7FE0ABF89359C1B99AF2705393F897D7FA5DF051B
|
||||
DE4EE6F397103EFF157F1BCD73456451EAF05F043D2AB1
|
||||
}
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,158 @@
|
||||
unit Main;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
SysUtils, Classes,
|
||||
Graphics, Forms, Controls, StdCtrls, ExtCtrls, Dialogs, LCLType,
|
||||
mvMapViewer, mvPluginCommon, mvPlugins, mvGPSObj, mvGeoMath, mvTypes;
|
||||
|
||||
type
|
||||
|
||||
{ TMainForm }
|
||||
|
||||
TMainForm = class(TForm)
|
||||
Bevel1: TBevel;
|
||||
cgPointTypes: TCheckGroup;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Panel1: TPanel;
|
||||
POI_Images: TImageList;
|
||||
MapView: TMapView;
|
||||
PluginManager: TMvPluginManager;
|
||||
procedure cgPointTypesItemClick(Sender: TObject; Index: integer);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
Plugin: TMarkerClickPlugin;
|
||||
procedure MarkerClickHandler({%H-}AMapView: TMapView; APoint: TGPSPoint);
|
||||
public
|
||||
|
||||
end;
|
||||
|
||||
var
|
||||
MainForm: TMainForm;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TMainForm }
|
||||
|
||||
procedure TMainForm.FormCreate(Sender: TObject);
|
||||
|
||||
// GPS markers are identified by the cross
|
||||
procedure AddGPSMarker(const ALon, ALat: Double;
|
||||
ACaption: String);
|
||||
var
|
||||
gpsPt: TGpsPointOfInterest;
|
||||
begin
|
||||
gpsPt := TGpsPointOfInterest.Create(ALon,ALat);
|
||||
try
|
||||
gpsPt.Name := ACaption;
|
||||
gpsPt.ImageIndex := -1;
|
||||
MapView.GPSItems.Add(gpsPt, 100);
|
||||
gpsPt := Nil;
|
||||
finally
|
||||
if Assigned(gpsPt) then
|
||||
gpsPt.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
// Map markers are identified by an icon.
|
||||
procedure AddMapMarker(const ALon, ALat: Double; ACaption: String);
|
||||
var
|
||||
layer: TMapLayer;
|
||||
pt: TMapPointOfInterest;
|
||||
begin
|
||||
if MapView.Layers.Count = 0 then
|
||||
layer := MapView.Layers.Add as TMapLayer
|
||||
else
|
||||
layer := MapView.Layers[0];
|
||||
pt := layer.PointsOfInterest.Add as TMapPointOfInterest;
|
||||
pt.Latitude := ALat;
|
||||
pt.Longitude := ALon;
|
||||
pt.Caption := ACaption;
|
||||
pt.ImageIndex := 0;
|
||||
end;
|
||||
|
||||
procedure AddGPSTrack(const APoints: TRealPointArray);
|
||||
var
|
||||
track: TGPSTrack;
|
||||
i: Integer;
|
||||
begin
|
||||
track := TGPSTrack.Create;
|
||||
for i := 0 to High(APoints) do
|
||||
track.Points.Add(TGPSPoint.CreateFrom(APoints[i]));
|
||||
track.LineColor := clRed;
|
||||
track.LineWidth := 1.0;
|
||||
MapView.GPSItems.Add(track, 200);
|
||||
end;
|
||||
|
||||
procedure AddMapTrack(const APoints: TRealPointArray);
|
||||
var
|
||||
layer: TMapLayer;
|
||||
track: TMapTrack;
|
||||
i: Integer;
|
||||
begin
|
||||
if MapView.Layers.Count =0 then
|
||||
layer := MapView.Layers.Add as TMapLayer
|
||||
else
|
||||
layer := MapView.Layers[0];
|
||||
track := layer.Tracks.Add as TMapTrack;
|
||||
track.Caption := 'Test track';
|
||||
track.LineColor := clBlue;
|
||||
track.LineWidth := 0.8;
|
||||
for i := 0 to High(APoints) do
|
||||
TMapTrackPoint(track.Points.Add).RealPoint := APoints[i];
|
||||
end;
|
||||
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
MapView.Active := true;
|
||||
AddGPSMarker( 0.0000000, 51.4825766, 'Greenwich');
|
||||
AddGPSMarker( 2.2945500, 48.8582300, 'Tour d´Eiffel, Paris');
|
||||
AddGPSMarker( -79.3884000, 43.6439500, 'CN Tower, Toronto');
|
||||
AddMapMarker(-157.7739800, 21.2716900, 'Kahala Avenue, Honolulu');
|
||||
AddMapMarker( 114.1497900, 22.2708100, 'The Peak, Hong Kong');
|
||||
AddMapMarker( 13.377778, 52.5163890, 'Brandenburger Tor, Berlin');
|
||||
|
||||
AddGPSTrack([RealPoint(-20,20), RealPoint(20, 0), RealPoint(-20,-20)]);
|
||||
AddMapTrack([RealPoint(20,20), RealPoint(-20,0), RealPoint(20,-20)]);
|
||||
|
||||
Plugin := TMarkerClickPlugin.Create(PluginManager);
|
||||
Plugin.OnMarkerClick := @MarkerClickHandler;
|
||||
|
||||
for i := 0 to cgPointTypes.Items.Count-1 do
|
||||
cgPointTypes.Checked[i] := true;
|
||||
end;
|
||||
|
||||
procedure TMainForm.cgPointTypesItemClick(Sender: TObject; Index: integer);
|
||||
var
|
||||
pointTypes: TMvPointTypes;
|
||||
begin
|
||||
pointTypes := Plugin.PointTypes;
|
||||
if cgPointTypes.Checked[Index] then
|
||||
Include(pointTypes, TMvPointType(Index))
|
||||
else
|
||||
Exclude(pointtypes, TMvPointType(Index));
|
||||
Plugin.PointTypes := pointTypes;
|
||||
end;
|
||||
|
||||
procedure TMainForm.MarkerClickHandler(AMapView: TMapView; APoint: TGPSPoint);
|
||||
var
|
||||
s, sName, sLat, sLon: String;
|
||||
begin
|
||||
sName := APoint.Name;
|
||||
sLat := ' Latitude ' + LatToStr(APoint.Lat, true);
|
||||
sLon := ' Longitude ' + LonToStr(APoint.Lon, true);
|
||||
s := sLat + Lineending + sLon;
|
||||
if sName <> '' then
|
||||
s := sName + LineEnding + s;
|
||||
ShowMessage(s);
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
@ -136,6 +136,25 @@ type
|
||||
end;
|
||||
|
||||
|
||||
{ TMarkerClickPlugin }
|
||||
|
||||
TMarkerClickEvent = procedure (AMapView: TMapView; APoint: TGPSPoint) of object;
|
||||
|
||||
TMarkerClickPlugin = class(TMvMarkerPlugin)
|
||||
private
|
||||
FShift: TShiftState;
|
||||
FOnMarkerClick: TMarkerClickEvent;
|
||||
protected
|
||||
procedure MouseDown(AMapView: TMapView; {%H-}Button: TMouseButton;
|
||||
AShift: TShiftState; X,Y: Integer; var Handled: Boolean); override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
published
|
||||
property Shift: TShiftState read FShift write FShift default [ssLeft];
|
||||
property OnMarkerClick: TMarkerClickEvent read FOnMarkerClick write FOnMarkerClick;
|
||||
end;
|
||||
|
||||
|
||||
{ TMarkerHintPlugin }
|
||||
|
||||
TMarkerCreateHintWindowEvent = procedure(AMapView: TMapView;
|
||||
@ -162,7 +181,7 @@ type
|
||||
protected
|
||||
function CreateHintWindow(AMapView: TMapView): THintWindow; virtual;
|
||||
procedure HideHint; virtual;
|
||||
procedure MouseMove(AMapView: TMapView; AShift: TShiftState; X,Y: Integer;
|
||||
procedure MouseMove(AMapView: TMapView; {%H-}AShift: TShiftState; X,Y: Integer;
|
||||
var Handled: Boolean); override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
@ -904,6 +923,31 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{ TMarkerClickPlugin }
|
||||
|
||||
constructor TMarkerClickPlugin.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited;
|
||||
FShift := [ssLeft];
|
||||
end;
|
||||
|
||||
procedure TMarkerClickPlugin.MouseDown(AMapView: TMapView; Button: TMouseButton;
|
||||
AShift: TShiftState; X, Y: Integer; var Handled: Boolean);
|
||||
var
|
||||
gpsPoint: TGPSPoint;
|
||||
begin
|
||||
if Handled then
|
||||
exit;
|
||||
|
||||
gpsPoint := FindNearestMarker(AMapView, X, Y);
|
||||
if Assigned(FOnMarkerClick) and (AShift = FShift) then
|
||||
begin
|
||||
FOnMarkerClick(AMapView, gpsPoint);
|
||||
Handled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
{ TMarkerHintPlugin }
|
||||
|
||||
constructor TMarkerHintPlugin.Create(AOwner: TComponent);
|
||||
@ -1286,6 +1330,7 @@ initialization
|
||||
RegisterPluginClass(TTileInfoPlugin, 'Tile info');
|
||||
RegisterPluginClass(TLegalNoticePlugin, 'Legal notice');
|
||||
RegisterPluginClass(TLinkedMapsPlugin, 'Linked maps');
|
||||
RegisterPluginClass(TMarkerClickPlugin, 'Marker click');
|
||||
RegisterPluginClass(TMarkerHintPlugin, 'Marker hint');
|
||||
RegisterPluginClass(TDraggableMarkerPlugin, 'Draggable marker');
|
||||
RegisterPluginClass(TUserDefinedPlugin, 'User-defined');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user