@syncfusion/ej2-maps 30.1.37 → 31.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/ej2-maps.min.js +1 -1
  2. package/dist/ej2-maps.umd.min.js +1 -1
  3. package/dist/global/ej2-maps.min.js +1 -1
  4. package/dist/global/index.d.ts +1 -1
  5. package/dist/ts/index.d.ts +4 -0
  6. package/dist/ts/index.ts +4 -0
  7. package/dist/ts/maps/index.d.ts +28 -0
  8. package/dist/ts/maps/index.ts +28 -0
  9. package/dist/ts/maps/layers/bing-map.d.ts +21 -0
  10. package/dist/ts/maps/layers/bing-map.ts +51 -0
  11. package/dist/ts/maps/layers/bubble.d.ts +77 -0
  12. package/dist/ts/maps/layers/bubble.ts +304 -0
  13. package/dist/ts/maps/layers/color-mapping.d.ts +36 -0
  14. package/dist/ts/maps/layers/color-mapping.ts +230 -0
  15. package/dist/ts/maps/layers/data-label.d.ts +45 -0
  16. package/dist/ts/maps/layers/data-label.ts +457 -0
  17. package/dist/ts/maps/layers/layer-panel.d.ts +144 -0
  18. package/dist/ts/maps/layers/layer-panel.ts +1455 -0
  19. package/dist/ts/maps/layers/legend.d.ts +173 -0
  20. package/dist/ts/maps/layers/legend.ts +2465 -0
  21. package/dist/ts/maps/layers/marker.d.ts +105 -0
  22. package/dist/ts/maps/layers/marker.ts +632 -0
  23. package/dist/ts/maps/layers/navigation-selected-line.d.ts +33 -0
  24. package/dist/ts/maps/layers/navigation-selected-line.ts +171 -0
  25. package/dist/ts/maps/layers/polygon.d.ts +30 -0
  26. package/dist/ts/maps/layers/polygon.ts +68 -0
  27. package/dist/ts/maps/maps-model.d.ts +409 -0
  28. package/dist/ts/maps/maps.d.ts +1247 -0
  29. package/dist/ts/maps/maps.ts +3416 -0
  30. package/dist/ts/maps/model/base-model.d.ts +2107 -0
  31. package/dist/ts/maps/model/base.d.ts +1840 -0
  32. package/dist/ts/maps/model/base.ts +2257 -0
  33. package/dist/ts/maps/model/constants.d.ts +225 -0
  34. package/dist/ts/maps/model/constants.ts +226 -0
  35. package/dist/ts/maps/model/export-image.d.ts +39 -0
  36. package/dist/ts/maps/model/export-image.ts +194 -0
  37. package/dist/ts/maps/model/export-pdf.d.ts +40 -0
  38. package/dist/ts/maps/model/export-pdf.ts +183 -0
  39. package/dist/ts/maps/model/interface.d.ts +892 -0
  40. package/dist/ts/maps/model/interface.ts +929 -0
  41. package/dist/ts/maps/model/print.d.ts +45 -0
  42. package/dist/ts/maps/model/print.ts +125 -0
  43. package/dist/ts/maps/model/theme.d.ts +98 -0
  44. package/dist/ts/maps/model/theme.ts +919 -0
  45. package/dist/ts/maps/user-interaction/annotation.d.ts +27 -0
  46. package/dist/ts/maps/user-interaction/annotation.ts +133 -0
  47. package/dist/ts/maps/user-interaction/highlight.d.ts +63 -0
  48. package/dist/ts/maps/user-interaction/highlight.ts +272 -0
  49. package/dist/ts/maps/user-interaction/selection.d.ts +85 -0
  50. package/dist/ts/maps/user-interaction/selection.ts +342 -0
  51. package/dist/ts/maps/user-interaction/tooltip.d.ts +78 -0
  52. package/dist/ts/maps/user-interaction/tooltip.ts +500 -0
  53. package/dist/ts/maps/user-interaction/zoom.d.ts +334 -0
  54. package/dist/ts/maps/user-interaction/zoom.ts +2523 -0
  55. package/dist/ts/maps/utils/enum.d.ts +328 -0
  56. package/dist/ts/maps/utils/enum.ts +343 -0
  57. package/dist/ts/maps/utils/helper.d.ts +1318 -0
  58. package/dist/ts/maps/utils/helper.ts +3811 -0
  59. package/package.json +53 -18
@@ -0,0 +1,2257 @@
1
+ /* eslint-disable max-len */
2
+ /**
3
+ * Maps base document
4
+ */
5
+ import { Property, ChildProperty, Complex, Collection } from '@syncfusion/ej2-base';
6
+ import { DataManager, Query } from '@syncfusion/ej2-data';
7
+ import { Alignment, LegendPosition, LegendType, LegendMode, Type, MarkerType, Orientation, MapAjax } from '../../index';
8
+ import { SmartLabelMode, IntersectAction } from '../../index';
9
+ import { BorderModel, ColorMappingSettingsModel, FontModel, CommonTitleSettingsModel, NavigationLineSettingsModel, PolygonSettingsModel, ZoomToolbarTooltipSettingsModel } from './base-model';
10
+ import { MarkerSettingsModel, MarkerClusterSettingsModel, ShapeSettingsModel, BubbleSettingsModel, ArrowModel } from './base-model';
11
+ import { DataLabelSettingsModel, TooltipSettingsModel, SubTitleSettingsModel, SelectionSettingsModel, PolygonSettingModel } from './base-model';
12
+ import { HighlightSettingsModel, ToggleLegendSettingsModel, ConnectorLineSettingsModel, PolygonTooltipSettingsModel} from './base-model';
13
+ import { InitialShapeSelectionSettingsModel, InitialMarkerSelectionSettingsModel, ZoomToolbarSettingsModel, ZoomToolbarButtonSettingsModel } from './base-model';
14
+ import { Theme } from './theme';
15
+ import { Point, GeoLocation, Coordinate, RelativePoint } from '../utils/helper';
16
+ import { LegendArrangement, LegendShape, BubbleType, ToolbarItem } from '../utils/enum';
17
+ import { AnnotationAlignment, GeometryType, LabelPosition, LabelIntersectAction } from '../index';
18
+
19
+
20
+ /**
21
+ * Gets or sets the options for customizing the annotation element in maps.
22
+ */
23
+
24
+ export class Annotation extends ChildProperty<Annotation> {
25
+
26
+ /**
27
+ * Gets or sets the content for the annotation in maps.
28
+ *
29
+ * @default ''
30
+ * @aspType string
31
+ */
32
+ @Property('')
33
+ public content: string | Function;
34
+
35
+ /**
36
+ * Gets or sets the x position of the annotation in pixel or percentage format.
37
+ *
38
+ * @default '0px'
39
+ */
40
+ @Property('0px')
41
+ public x: string;
42
+
43
+ /**
44
+ * Gets or sets the y position of the annotation in pixel or percentage format.
45
+ *
46
+ * @default '0px'
47
+ */
48
+ @Property('0px')
49
+ public y: string;
50
+
51
+ /**
52
+ * Gets or sets the type of the placement when the annotation is to be aligned vertically.
53
+ *
54
+ * @default None
55
+ */
56
+ @Property('None')
57
+ public verticalAlignment: AnnotationAlignment;
58
+
59
+ /**
60
+ * Gets or sets the type of the placement when the annotation is to be aligned horizontally.
61
+ *
62
+ * @default None
63
+ */
64
+ @Property('None')
65
+ public horizontalAlignment: AnnotationAlignment;
66
+
67
+ /**
68
+ * Gets or sets the z-index of the annotation in maps.
69
+ *
70
+ * @default '-1'
71
+ */
72
+ @Property('-1')
73
+ public zIndex: string;
74
+ }
75
+ /**
76
+ * Gets or sets the options to customize the arrow in the navigation line.
77
+ */
78
+ export class Arrow extends ChildProperty<Arrow> {
79
+ /**
80
+ * Gets or sets the type of the position to place the arrow in navigation lines.
81
+ *
82
+ * @default 'Start'
83
+ */
84
+ @Property('Start')
85
+ public position: string;
86
+ /**
87
+ * Enables or disables the visibility of the arrow in navigation line.
88
+ *
89
+ * @default false
90
+ */
91
+ @Property('false')
92
+ public showArrow: boolean;
93
+ /**
94
+ * Gets or sets the size of the arrow in navigation line in maps.
95
+ *
96
+ * @default 2
97
+ */
98
+ @Property(2)
99
+ public size: number;
100
+ /**
101
+ * Gets or sets the color for the arrow in navigation line.
102
+ *
103
+ * @default 'black'
104
+ */
105
+ @Property('black')
106
+ public color: string;
107
+ /**
108
+ * Gets or sets the offset value to position the arrow from the navigation line.
109
+ *
110
+ * @default 0
111
+ */
112
+ @Property(0)
113
+ public offSet: number;
114
+ }
115
+
116
+ /**
117
+ * Gets or sets the options to customize the style of the text in data label, legend and other texts in maps.
118
+ */
119
+ export class Font extends ChildProperty<Font> {
120
+
121
+ /**
122
+ * Gets or sets the size for the text in data label, legend and other texts.
123
+ */
124
+ @Property(null)
125
+ public size: string;
126
+
127
+ /**
128
+ * Gets or sets the color for the text in data label, legend and other texts in maps.
129
+ */
130
+ @Property(null)
131
+ public color: string;
132
+
133
+ /**
134
+ * Gets or sets the font family of the text in data label, legend and other texts in maps.
135
+ */
136
+ @Property('Roboto, Noto, Sans-serif')
137
+ public fontFamily: string;
138
+
139
+ /**
140
+ * Gets or sets the font weight of the text in data label, legend and other texts in maps.
141
+ */
142
+ @Property('Medium')
143
+ public fontWeight: string;
144
+
145
+ /**
146
+ * Gets or sets the style of the text in data label, legend and other texts in maps.
147
+ */
148
+ @Property('Medium')
149
+ public fontStyle: string;
150
+
151
+ /**
152
+ * Gets or sets the opacity for the text in data label, legend and other texts in maps.
153
+ *
154
+ * @default 1
155
+ */
156
+ @Property(1)
157
+ public opacity: number;
158
+ }
159
+ /**
160
+ * Specifies the options to customize the buttons in the zoom toolbar.
161
+ */
162
+ export class ZoomToolbarButtonSettings extends ChildProperty<ZoomToolbarButtonSettings> {
163
+ /**
164
+ * Gets or sets the fill color of the button.
165
+ *
166
+ * @default 'transparent'
167
+ */
168
+ @Property('transparent')
169
+ public fill: string;
170
+ /**
171
+ * Gets or sets the color of the icons inside the button.
172
+ *
173
+ * @default null
174
+ */
175
+ @Property(null)
176
+ public color: string;
177
+ /**
178
+ * Gets or sets the opacity of the border of the button in the zoom toolbar.
179
+ *
180
+ * @default 1
181
+ */
182
+ @Property(1)
183
+ public borderOpacity: number;
184
+ /**
185
+ * Gets or sets the width of the border of the button in the zoom toolbar.
186
+ *
187
+ * @default 1
188
+ */
189
+ @Property(1)
190
+ public borderWidth: number;
191
+ /**
192
+ * Gets or sets the color of the border of the button in the zoom toolbar.
193
+ *
194
+ * @default null
195
+ */
196
+ @Property(null)
197
+ public borderColor: string;
198
+ /**
199
+ * Gets or sets the radius of the button. This property is used to modify the size of the button.
200
+ *
201
+ * @default null
202
+ */
203
+ @Property(null)
204
+ public radius: number;
205
+ /**
206
+ * Gets or sets the color of the icons inside the button when selection is performed.
207
+ *
208
+ * @default null
209
+ */
210
+ @Property(null)
211
+ public selectionColor: string;
212
+ /**
213
+ * Gets or sets the color for the button when the mouse has hovered on the same.
214
+ *
215
+ * @default null
216
+ */
217
+ @Property(null)
218
+ public highlightColor: string;
219
+ /**
220
+ * Gets or sets the padding space between each button.
221
+ *
222
+ * @default 5
223
+ */
224
+ @Property(5)
225
+ public padding: number;
226
+ /**
227
+ * Gets or sets the opacity of the button.
228
+ *
229
+ * @default 1
230
+ */
231
+ @Property(1)
232
+ public opacity: number;
233
+ /**
234
+ * Gets or sets the items that should be displayed in the Maps zoom toolbar. By default, zoom-in, zoom-out, and reset buttons are visible. Other options include selection zoom and panning.
235
+ *
236
+ * @default ZoomIn
237
+ */
238
+ @Property(['ZoomIn', 'ZoomOut', 'Reset'])
239
+ public toolbarItems: ToolbarItem[];
240
+ }
241
+ /**
242
+ * Specifies the options to customize the tooltip of the zoom toolbar.
243
+ */
244
+ export class ZoomToolbarTooltipSettings extends ChildProperty<ZoomToolbarTooltipSettings> {
245
+ /**
246
+ * Enables or disables the tooltip of the zoom toolbar.
247
+ *
248
+ * @default true
249
+ */
250
+ @Property(true)
251
+ public visible: boolean;
252
+ /**
253
+ * Gets or sets the background color of the tooltip of the zoom toolbar.
254
+ *
255
+ * @default 'white'
256
+ */
257
+ @Property('white')
258
+ public fill: string;
259
+ /**
260
+ * Gets or sets the opacity of the border of the tooltip of the zoom toolbar.
261
+ *
262
+ * @default 1
263
+ */
264
+ @Property(1)
265
+ public borderOpacity: number;
266
+ /**
267
+ * Gets or sets the width of the border of the tooltip of the zoom toolbar.
268
+ *
269
+ * @default 1
270
+ */
271
+ @Property(1)
272
+ public borderWidth: number;
273
+ /**
274
+ * Gets or sets the color of the border of the tooltip of the zoom toolbar.
275
+ *
276
+ * @default '#707070'
277
+ */
278
+ @Property('#707070')
279
+ public borderColor: string;
280
+ /**
281
+ * Gets or sets the color of the text in the tooltip of the zoom toolbar.
282
+ *
283
+ * @default 'black'
284
+ */
285
+ @Property('black')
286
+ public fontColor: string;
287
+ /**
288
+ * Gets or sets the font family of the text in the tooltip of the zoom toolbar.
289
+ *
290
+ * @default ''
291
+ */
292
+ @Property('')
293
+ public fontFamily: string;
294
+ /**
295
+ * Gets or sets the font style of the text in the tooltip of the zoom toolbar.
296
+ *
297
+ * @default ''
298
+ */
299
+ @Property('')
300
+ public fontStyle: string;
301
+ /**
302
+ * Gets or sets the font weight of the text in the tooltip of the zoom toolbar.
303
+ *
304
+ * @default ''
305
+ */
306
+ @Property('')
307
+ public fontWeight: string;
308
+ /**
309
+ * Gets or sets the size of the text in the tooltip of the zoom toolbar.
310
+ *
311
+ * @default ''
312
+ */
313
+ @Property('')
314
+ public fontSize: string;
315
+ /**
316
+ * Gets or sets the font opacity of the text in the tooltip of the zoom toolbar.
317
+ *
318
+ * @default 1
319
+ */
320
+ @Property(1)
321
+ public fontOpacity: number;
322
+ }
323
+ /**
324
+ * Sets and gets the options to customize the border of the zoom toolbar.
325
+ */
326
+ export class ZoomToolbarSettings extends ChildProperty<ZoomToolbarSettings> {
327
+ /**
328
+ * Gets or sets the background color of the zoom toolbar.
329
+ *
330
+ * @default 'transparent'
331
+ */
332
+ @Property('transparent')
333
+ public backgroundColor: string;
334
+ /**
335
+ * Gets or sets the opacity of the border of the zoom toolbar.
336
+ *
337
+ * @default 1
338
+ */
339
+ @Property(1)
340
+ public borderOpacity: number;
341
+ /**
342
+ * Gets or sets the thickness of the border of the zoom toolbar.
343
+ *
344
+ * @default 1
345
+ */
346
+ @Property(1)
347
+ public borderWidth: number;
348
+ /**
349
+ * Gets or sets the color of the border of the zoom toolbar.
350
+ *
351
+ * @default 'transparent'
352
+ */
353
+ @Property('transparent')
354
+ public borderColor: string;
355
+ /**
356
+ * Gets or sets the placement of the zoom toolbar when it is placed horizontally.
357
+ *
358
+ * @default Far
359
+ */
360
+ @Property('Far')
361
+ public horizontalAlignment: Alignment;
362
+ /**
363
+ * Gets or sets the placement of the zoom toolbar when it is placed vertically.
364
+ *
365
+ * @default Near
366
+ */
367
+ @Property('Near')
368
+ public verticalAlignment: Alignment;
369
+ /**
370
+ * Gets or sets the orientation of the zoom toolbar.
371
+ *
372
+ * @default Horizontal
373
+ */
374
+ @Property('Horizontal')
375
+ public orientation: Orientation;
376
+ /**
377
+ * Specifies the options to customize the buttons in the zoom toolbar.
378
+ *
379
+ */
380
+ @Complex<ZoomToolbarButtonSettingsModel>({}, ZoomToolbarButtonSettings)
381
+ public buttonSettings: ZoomToolbarButtonSettingsModel;
382
+ /**
383
+ * Specifies the options to customize the tooltip in the zoom toolbar.
384
+ *
385
+ */
386
+ @Complex<ZoomToolbarTooltipSettingsModel>({ }, ZoomToolbarTooltipSettings)
387
+ public tooltipSettings: ZoomToolbarTooltipSettingsModel;
388
+ }
389
+
390
+ /**
391
+ * Gets or sets the options to customize the border of the maps.
392
+ */
393
+ export class Border extends ChildProperty<Border> {
394
+
395
+ /**
396
+ * Gets or sets the color of the border. This property accepts the value in hex code and rgba string as a valid CSS color string.
397
+ */
398
+ @Property('')
399
+ public color: string;
400
+
401
+ /**
402
+ * Gets or sets the width of the border of the maps.
403
+ */
404
+ @Property(0)
405
+ public width: number;
406
+ /**
407
+ * Gets or sets the opacity of the border of the maps.
408
+ */
409
+ @Property(null)
410
+ public opacity: number;
411
+
412
+ }
413
+ /**
414
+ * Gets or sets the values to change the center position of the maps.
415
+ */
416
+ export class CenterPosition extends ChildProperty<CenterPosition> {
417
+
418
+ /**
419
+ * Gets or sets the latitude of the center position of maps.
420
+ *
421
+ * @default null
422
+ */
423
+ @Property(null)
424
+ public latitude: number;
425
+
426
+ /**
427
+ * Gets or sets the longitude of the center position of maps.
428
+ *
429
+ * @default null
430
+ */
431
+ @Property(null)
432
+ public longitude: number;
433
+
434
+ }
435
+ /**
436
+ * Gets or sets the options to customize the tooltip of layers, markers, and bubble in maps.
437
+ */
438
+ export class TooltipSettings extends ChildProperty<TooltipSettings> {
439
+ /**
440
+ * Enables or disables the tooltip visibility of layers, markers, and bubbles in maps.
441
+ *
442
+ * @default false
443
+ */
444
+ @Property(false)
445
+ public visible: boolean;
446
+ /**
447
+ * Gets or sets the tooltip template of layers, markers, and bubbles in maps to display custom elements as tooltip.
448
+ *
449
+ * @default ''
450
+ * @aspType string
451
+ */
452
+ @Property('')
453
+ public template: string | Function;
454
+ /**
455
+ * Gets or sets the color of the tooltip in layers, markers, and bubbles of maps.
456
+ *
457
+ * @default ''
458
+ */
459
+ @Property('')
460
+ public fill: string;
461
+
462
+ /**
463
+ * Gets or sets the options for customizing the style properties of the border of the tooltip in layers, markers, and bubbles of maps.
464
+ */
465
+ @Complex<BorderModel>({ color: null, width: 1 }, Border)
466
+ public border: BorderModel;
467
+
468
+ /**
469
+ * Gets or sets the options for customizing the style of the text in tooltip for layers, markers, and bubbles of maps.
470
+ */
471
+ @Complex<FontModel>({ fontFamily: null, size: null, fontWeight : null }, Font)
472
+ public textStyle: FontModel;
473
+
474
+ /**
475
+ * Gets or sets the format of the tooltip in layers, markers, and bubbles of maps.
476
+ *
477
+ * @default null
478
+ */
479
+ @Property(null)
480
+ public format: string;
481
+ /**
482
+ * Gets or sets the field name from the data source based on which the tooltip is visible on layers, markers, and bubbles of maps.
483
+ * For the layer tooltip, the field name from the GeoJSON data can also be set.
484
+ *
485
+ * @default null
486
+ */
487
+ @Property(null)
488
+ public valuePath: string;
489
+ /**
490
+ * Specifies the value within which the tooltip will be removed on a mobile device. The value represents time in milliseconds.
491
+ * If the value is set to 0, the tooltip will not be removed. If the value is set to greater than 0, the tooltip will be removed at the specified time.
492
+ *
493
+ * @default 2000
494
+ */
495
+ @Property(2000)
496
+ public duration: number;
497
+ }
498
+ /**
499
+ * Specifies the properties such as visibility, fill, border and text style to customize the tooltip.
500
+ */
501
+ export class PolygonTooltipSettings extends ChildProperty<PolygonTooltipSettings> {
502
+ /**
503
+ * Shows or hides the tooltip of the polygon shapes. When this property is set as false, the tooltip for all the polygon shapes in a layer will not be visible.
504
+ *
505
+ * @default false
506
+ */
507
+ @Property(false)
508
+ public visible: boolean;
509
+ /**
510
+ * Gets or sets the fill color for the tooltip of the polygon shape.
511
+ *
512
+ * @default ''
513
+ */
514
+ @Property('')
515
+ public fill: string;
516
+
517
+ /**
518
+ * Gets or sets the attributes such as width, color and opacity of the border of the tooltip element of the polygon shape.
519
+ */
520
+ @Complex<BorderModel>({ color: null, width: 1 }, Border)
521
+ public border: BorderModel;
522
+
523
+ /**
524
+ * Gets or sets the font properties of the text content of the tooltip element of the polygon shape.
525
+ */
526
+ @Complex<FontModel>({ fontFamily: null, size: null, fontWeight : null }, Font)
527
+ public textStyle: FontModel;
528
+
529
+ /**
530
+ * Specifies the value within which the tooltip will be removed on a mobile device. The value represents time in milliseconds.
531
+ * If the value is set to 0, the tooltip will not be removed. If the value is set to greater than 0, the tooltip will be removed at the specified time.
532
+ *
533
+ * @default 2000
534
+ */
535
+ @Property(2000)
536
+ public duration: number;
537
+ }
538
+ /**
539
+ * Gets or sets the options to customize the margin of the maps.
540
+ */
541
+ export class Margin extends ChildProperty<Margin> {
542
+
543
+ /**
544
+ * Gets or sets the left margin of maps.
545
+ *
546
+ * @default 10
547
+ */
548
+ @Property(10)
549
+ public left: number;
550
+
551
+ /**
552
+ * Gets or sets the right margin of maps.
553
+ *
554
+ * @default 10
555
+ */
556
+ @Property(10)
557
+ public right: number;
558
+
559
+ /**
560
+ * Gets or sets the top margin of maps.
561
+ *
562
+ * @default 10
563
+ */
564
+ @Property(10)
565
+ public top: number;
566
+
567
+ /**
568
+ * Gets or sets the bottom margin of maps.
569
+ *
570
+ * @default 10
571
+ */
572
+ @Property(10)
573
+ public bottom: number;
574
+ }
575
+
576
+ /**
577
+ * Gets or sets the options to customize the lines that connect the markers in marker cluster of the maps.
578
+ */
579
+ export class ConnectorLineSettings extends ChildProperty<ConnectorLineSettings> {
580
+ /**
581
+ * Gets or sets the color for connector line between the markers in marker cluster.
582
+ *
583
+ * @default '#000000'
584
+ */
585
+ @Property('#000000')
586
+ public color: string;
587
+
588
+ /**
589
+ * Gets or sets the line width for connector line between the markers in marker cluster.
590
+ *
591
+ * @default 1
592
+ */
593
+ @Property(1)
594
+ public width: number;
595
+
596
+ /**
597
+ * Gets or sets the opacity for connector line between the markers in marker cluster.
598
+ *
599
+ * @default 1
600
+ */
601
+ @Property(1)
602
+ public opacity: number;
603
+ }
604
+
605
+ /**
606
+ * Gets or sets the options to customize the cluster of markers in maps.
607
+ */
608
+ export class MarkerClusterSettings extends ChildProperty<MarkerClusterSettings> {
609
+ /**
610
+ * Enables or disables the visibility of the cluster of markers in the maps.
611
+ *
612
+ * @default false
613
+ */
614
+ @Property(false)
615
+ public allowClustering: boolean;
616
+ /**
617
+ * Enables or disables intense marker clustering for improved accuracy.
618
+ * The default value is true, and clustering logic will be executed twice for improved accuracy.
619
+ * If set to false, the clustering logic will only be executed once, increasing performance while maintaining decent accuracy.
620
+ *
621
+ * @default true
622
+ */
623
+ @Property(true)
624
+ public allowDeepClustering: boolean;
625
+ /**
626
+ * Gets or sets the options for customizing the style properties of the border of the clusters in maps.
627
+ */
628
+ @Complex<BorderModel>({ color: 'transparent', width: 1 }, Border)
629
+ public border: BorderModel;
630
+ /**
631
+ * Gets or sets the fill color of the cluster.
632
+ *
633
+ * @default '#D2691E'
634
+ */
635
+ @Property('#D2691E')
636
+ public fill: string;
637
+ /**
638
+ * Gets or sets the opacity of the marker cluster.
639
+ *
640
+ * @default 1
641
+ */
642
+ @Property(1)
643
+ public opacity: number;
644
+ /**
645
+ * Gets or sets shape of the marker cluster.
646
+ *
647
+ * @default Rectangle
648
+ */
649
+ @Property('Rectangle')
650
+ public shape: MarkerType;
651
+
652
+ /**
653
+ * Gets or sets the width of the marker cluster in maps.
654
+ *
655
+ * @default 12
656
+ */
657
+ @Property(12)
658
+ public width: number;
659
+
660
+ /**
661
+ * Gets or sets the height of the marker cluster in maps.
662
+ *
663
+ * @default 12
664
+ */
665
+ @Property(12)
666
+ public height: number;
667
+ /**
668
+ * Gets or sets the offset value to position the marker cluster from the intended position in maps.
669
+ */
670
+ @Property(new Point(0, 0))
671
+ public offset: Point;
672
+ /**
673
+ * Gets or sets the URL path for the marker cluster when the cluster shape is set as image in maps.
674
+ *
675
+ * @default ''
676
+ */
677
+ @Property('')
678
+ public imageUrl: string;
679
+ /**
680
+ * Gets or sets the dash array for the marker cluster in maps.
681
+ *
682
+ * @default ''
683
+ */
684
+ @Property('')
685
+ public dashArray: string;
686
+ /**
687
+ * Gets or sets the options to customize the label text in marker cluster.
688
+ */
689
+ @Complex<FontModel>({}, Font)
690
+ public labelStyle: FontModel;
691
+ /**
692
+ * Enables or disables the expanding of the clusters when many markers are in same location.
693
+ *
694
+ * @default false
695
+ */
696
+ @Property(false)
697
+ public allowClusterExpand: boolean;
698
+ /**
699
+ * Gets or sets the options to customize the connector line which is visible on cluster expand.
700
+ */
701
+ @Complex<ConnectorLineSettingsModel>({}, ConnectorLineSettings)
702
+ public connectorLineSettings: ConnectorLineSettingsModel;
703
+ }
704
+ /**
705
+ * Gets or sets the data in the marker cluster.
706
+ */
707
+ export class MarkerClusterData extends ChildProperty<MarkerClusterData> {
708
+ /**
709
+ * Gets or sets the data for the marker cluster.
710
+ *
711
+ * @private
712
+ */
713
+ public data: Object[];
714
+ /**
715
+ * Gets or sets the index value for the layer in which the marker cluster is rendered.
716
+ *
717
+ * @private
718
+ */
719
+ public layerIndex: number;
720
+ /**
721
+ * Gets or sets the index value for the marker in the maps.
722
+ *
723
+ * @private
724
+ */
725
+ public markerIndex: number;
726
+ /**
727
+ * Gets or sets the index value for the marker in the maps.
728
+ *
729
+ * @private
730
+ */
731
+ public dataIndex: number;
732
+ /**
733
+ * Gets or sets the index value for cluster for which the click operation is triggered.
734
+ *
735
+ * @private
736
+ */
737
+ public targetClusterIndex: number;
738
+ /**
739
+ * Enables or disables the same cluster occurs in maps.
740
+ *
741
+ * @private
742
+ */
743
+ public isClusterSame: boolean;
744
+ }
745
+ /**
746
+ * Gets or sets the options to customize the color-mapping in maps.
747
+ */
748
+ export class ColorMappingSettings extends ChildProperty<ColorMappingSettings> {
749
+ /**
750
+ * Gets or sets the value from where the range for the color-mapping starts.
751
+ *
752
+ * @aspDefaultValueIgnore
753
+ * @default null
754
+ */
755
+ @Property(null)
756
+ public from: number;
757
+ /**
758
+ * Gets or sets the value to where the range for the color-mapping ends.
759
+ *
760
+ * @aspDefaultValueIgnore
761
+ * @default null
762
+ */
763
+ @Property(null)
764
+ public to: number;
765
+ /**
766
+ * Gets or sets the value from the data source to map the corresponding colors to the shapes.
767
+ *
768
+ * @default null
769
+ */
770
+ @Property(null)
771
+ public value: string;
772
+ /**
773
+ * Gets or sets the color for the color-mapping in maps.
774
+ *
775
+ * @default null
776
+ */
777
+ @Property(null)
778
+ public color: string | string[];
779
+ /**
780
+ * Gets or sets the minimum opacity for the color-mapping in maps.
781
+ *
782
+ * @default null
783
+ */
784
+ @Property(null)
785
+ public minOpacity: number;
786
+ /**
787
+ * Gets or sets the maximum opacity for the color-mapping in maps.
788
+ *
789
+ * @default null
790
+ */
791
+ @Property(null)
792
+ public maxOpacity: number;
793
+ /**
794
+ * Gets or sets the label for the color-mapping to display in the legend item text.
795
+ *
796
+ * @default null
797
+ */
798
+ @Property(null)
799
+ public label: string;
800
+ /**
801
+ * Enables or disables the visibility of legend for the corresponding color-mapped shapes in maps.
802
+ *
803
+ * @default true
804
+ */
805
+ @Property(true)
806
+ public showLegend: boolean;
807
+ }
808
+
809
+ /**
810
+ * Gets or sets the options to select the marker shape when the maps is loaded initially.
811
+ * The initial selection of the markers will work only when the selection settings of marker is enabled.
812
+ */
813
+ export class InitialMarkerSelectionSettings extends ChildProperty<InitialMarkerSelectionSettings> {
814
+
815
+ /**
816
+ * Specifies the latitude of the marker to be selected.
817
+ *
818
+ * @default null
819
+ */
820
+ @Property(null)
821
+ public latitude: number;
822
+ /**
823
+ * Specifies the longitude of the marker to be selected.
824
+ *
825
+ * @default null
826
+ */
827
+ @Property(null)
828
+ public longitude: number;
829
+ }
830
+
831
+ /**
832
+ * Gets or sets the options to select the shapes when the maps is loaded initially.
833
+ * The initial selection of the shapes will work only when the selection settings of layer is enabled.
834
+ */
835
+ export class InitialShapeSelectionSettings extends ChildProperty<InitialShapeSelectionSettings> {
836
+
837
+ /**
838
+ * Gets or sets the property name from the data source in maps.
839
+ *
840
+ * @default null
841
+ */
842
+ @Property(null)
843
+ public shapePath: string;
844
+ /**
845
+ * Gets or sets the value from the data source which is bound to the shape in maps.
846
+ *
847
+ * @default null
848
+ */
849
+ @Property(null)
850
+ public shapeValue: string;
851
+ }
852
+ /**
853
+ * Gets or sets the options to customize the maps on selecting the shapes.
854
+ */
855
+ export class SelectionSettings extends ChildProperty<SelectionSettings> {
856
+
857
+ /**
858
+ * Enables or disables the selection for the layers, markers and bubbles in maps.
859
+ *
860
+ * @default false
861
+ */
862
+ @Property(false)
863
+ public enable: boolean;
864
+ /**
865
+ * Gets or sets the color for the shape that is selected.
866
+ *
867
+ * @default null
868
+ */
869
+ @Property(null)
870
+ public fill: string;
871
+ /**
872
+ * Gets or sets the opacity for the shape that is selected.
873
+ *
874
+ * @default 1
875
+ */
876
+ @Property(1)
877
+ public opacity: number;
878
+ /**
879
+ * Enables or disables the selection of multiple shapes in maps.
880
+ *
881
+ * @default false
882
+ */
883
+ @Property(false)
884
+ public enableMultiSelect: boolean;
885
+
886
+ /**
887
+ * Gets or sets the options for customizing the color and width of the border of selected shapes in maps.
888
+ */
889
+ @Complex<BorderModel>({ color: 'transparent', width: 0 }, Border)
890
+ public border: BorderModel;
891
+ }
892
+ /**
893
+ * Gets or sets the options to customize the shapes on which the mouse has hovered in maps.
894
+ */
895
+ export class HighlightSettings extends ChildProperty<HighlightSettings> {
896
+
897
+ /**
898
+ * Gets or sets the color for the shapes on which the mouse has hovered in maps.
899
+ *
900
+ * @default null
901
+ */
902
+ @Property(null)
903
+ public fill: string;
904
+ /**
905
+ * Enables or disables the highlight functionality of the layers in maps.
906
+ *
907
+ * @default false
908
+ */
909
+ @Property(false)
910
+ public enable: boolean;
911
+ /**
912
+ * Gets or sets the opacity for the highlighted shapes in maps.
913
+ *
914
+ * @default 1
915
+ */
916
+ @Property(1)
917
+ public opacity: number;
918
+ /**
919
+ * Gets or sets the options for customizing the style properties of the border of the highlighted shapes in maps.
920
+ */
921
+ @Complex<BorderModel>({ color: 'transparent', width: 0 }, Border)
922
+ public border: BorderModel;
923
+
924
+ }
925
+ /**
926
+ * Defines the properties for a single polygon shape to render over the Maps, such as coordinates, fill, border, and opacity.
927
+ */
928
+ export class PolygonSetting extends ChildProperty<PolygonSettings> {
929
+ /**
930
+ * Gets or sets the width of the border of the polygon shape.
931
+ *
932
+ * @default 1
933
+ */
934
+ @Property(1)
935
+ public borderWidth: number;
936
+ /**
937
+ * Gets or sets the opacity of the border of the polygon shape.
938
+ *
939
+ * @default 1
940
+ */
941
+ @Property(1)
942
+ public borderOpacity: number;
943
+ /**
944
+ * Gets or sets the opacity of the polygon shape.
945
+ *
946
+ * @default 1
947
+ */
948
+ @Property(1)
949
+ public opacity: number;
950
+ /**
951
+ * Gets or sets the color to be used in the border of the polygon shape.
952
+ *
953
+ * @default 'black'
954
+ */
955
+ @Property('#FF471A')
956
+ public borderColor: string;
957
+ /**
958
+ * Gets or sets the color to be filled in the polygon shape.
959
+ *
960
+ * @default 'black'
961
+ */
962
+ @Property('#FF471A')
963
+ public fill: string;
964
+ /**
965
+ * Gets or sets the points that define the polygon shape.
966
+ * This property holds a collection of coordinates that define the polygon shape.
967
+ *
968
+ * @default []
969
+ */
970
+ @Property([])
971
+ public points: Coordinate[];
972
+ /**
973
+ * Specifies the tooltip text to be displayed for the polygon shape. If it is not set, the tooltip will not be displayed.
974
+ *
975
+ * @default ''
976
+ */
977
+ @Property('')
978
+ public tooltipText: string;
979
+ /**
980
+ * Specifies any HTML content as a tooltip on the polygon shape. If it is not set, the tooltip will not be displayed.
981
+ *
982
+ * @default ''
983
+ * @aspType string
984
+ */
985
+ @Property('')
986
+ public tooltipTemplate: string | Function;
987
+ }
988
+
989
+ /**
990
+ * Defines the properties of the polygon shapes that will be rendered on a map layer.
991
+ * The selection and highlight settings for polygon shapes can also be defined.
992
+ */
993
+ export class PolygonSettings extends ChildProperty<PolygonSettings> {
994
+ /**
995
+ * Gets or sets the properties of all the polygon shapes that will be displayed in a layer.
996
+ * {% codeBlock src='maps/polygonSettingsPolygons/index.md' %}{% endcodeBlock %}
997
+ */
998
+ @Collection<PolygonSettingModel>([], PolygonSetting)
999
+ public polygons: PolygonSettingModel[];
1000
+ /**
1001
+ * Gets or sets the properties for selecting polygon shapes in a map layer.
1002
+ * {% codeBlock src='maps/polygonSettingsSelectionSettings/index.md' %}{% endcodeBlock %}
1003
+ */
1004
+ @Complex<SelectionSettingsModel>({}, SelectionSettings)
1005
+ public selectionSettings: SelectionSettingsModel;
1006
+ /**
1007
+ * Gets or sets the properties for highlighting polygon shapes in a map layer.
1008
+ * {% codeBlock src='maps/polygonSettingsHighlightSettings/index.md' %}{% endcodeBlock %}
1009
+ */
1010
+ @Complex<HighlightSettingsModel>({}, HighlightSettings)
1011
+ public highlightSettings: HighlightSettingsModel;
1012
+ /**
1013
+ * Specifies the properties such as visibility, fill, border and text style to customize the tooltip.
1014
+ * {% codeBlock src='maps/polygonSettingsTooltipSettings/index.md' %}{% endcodeBlock %}
1015
+ */
1016
+ @Complex<PolygonTooltipSettingsModel>({}, PolygonTooltipSettings)
1017
+ public tooltipSettings: PolygonTooltipSettingsModel;
1018
+ }
1019
+ /**
1020
+ * Gets or sets the options to customize the navigation lines in maps which is used to connect different locations.
1021
+ */
1022
+ export class NavigationLineSettings extends ChildProperty<NavigationLineSettings> {
1023
+ /**
1024
+ * Enables or disables the navigation lines to be drawn in maps.
1025
+ *
1026
+ * @default false
1027
+ */
1028
+ @Property(false)
1029
+ public visible: boolean;
1030
+ /**
1031
+ * Gets or sets the width of the navigation lines in maps.
1032
+ *
1033
+ * @default 1
1034
+ */
1035
+ @Property(1)
1036
+ public width: number;
1037
+ /**
1038
+ * Gets or sets the longitude for the navigation lines to be drawn in maps.
1039
+ *
1040
+ * @default []
1041
+ */
1042
+ @Property(null)
1043
+ public longitude: number[];
1044
+ /**
1045
+ * Gets or sets the latitude value for the navigation lines to be drawn in maps.
1046
+ *
1047
+ * @default []
1048
+ */
1049
+ @Property(null)
1050
+ public latitude: number[];
1051
+ /**
1052
+ * Gets or sets the dash-array for the navigation lines drawn in maps.
1053
+ *
1054
+ * @default ''
1055
+ */
1056
+ @Property('')
1057
+ public dashArray: string;
1058
+ /**
1059
+ * Gets or sets the color for the navigation lines in maps.
1060
+ *
1061
+ * @default 'black'
1062
+ */
1063
+ @Property('black')
1064
+ public color: string;
1065
+ /**
1066
+ * Gets or sets the angle of the curve connecting different locations in maps.
1067
+ *
1068
+ * @default 0
1069
+ */
1070
+ @Property(0)
1071
+ public angle: number;
1072
+ /**
1073
+ * Gets or sets the options to customize the arrow for the navigation line in maps.
1074
+ */
1075
+ @Complex<ArrowModel>({ showArrow: false, position: 'Start', size: 5, color: 'black' }, Arrow)
1076
+ public arrowSettings: ArrowModel;
1077
+ /**
1078
+ * Gets or sets the selection settings of the navigation line in maps.
1079
+ */
1080
+ @Complex<SelectionSettingsModel>({}, SelectionSettings)
1081
+ public selectionSettings: SelectionSettingsModel;
1082
+ /**
1083
+ * Gets or sets the highlight settings of the navigation line in maps.
1084
+ */
1085
+ @Complex<HighlightSettingsModel>({}, HighlightSettings)
1086
+ public highlightSettings: HighlightSettingsModel;
1087
+ }
1088
+ /**
1089
+ * Gets or sets the options to customize the bubble elements in the maps.
1090
+ */
1091
+ export class BubbleSettings extends ChildProperty<BubbleSettings> {
1092
+ /**
1093
+ * Gets or sets the options to customize the style properties of the border for the bubbles in maps.
1094
+ */
1095
+ @Complex<BorderModel>({}, Border)
1096
+ public border: BorderModel;
1097
+ /**
1098
+ * Enables or disables the visibility of the bubbles in maps.
1099
+ *
1100
+ * @default false
1101
+ */
1102
+ @Property(false)
1103
+ public visible: boolean;
1104
+ /**
1105
+ * Gets or sets the data source for the bubble.
1106
+ * The data source must contain the size value of the bubble that can be bound to the bubble
1107
+ * of the maps using the `valuePath` property in the `bubbleSettings`.
1108
+ * The data source can contain data such as color and other informations that can be bound to the bubble and tooltip of the bubble.
1109
+ *
1110
+ * @isObservable true
1111
+ * @default []
1112
+ */
1113
+ @Property([])
1114
+ public dataSource: Object[] | DataManager;
1115
+ /**
1116
+ * Gets or sets the query to select particular data from the bubble data source.
1117
+ * This property is applicable only when the data source is created by data manager.
1118
+ *
1119
+ * @default null
1120
+ */
1121
+ @Property()
1122
+ public query: Query;
1123
+ /**
1124
+ * Gets or sets the duration for the animation of the bubbles in maps.
1125
+ *
1126
+ * @default 1000
1127
+ */
1128
+ @Property(1000)
1129
+ public animationDuration: number;
1130
+
1131
+ /**
1132
+ * Gets or sets the delay in animation for the bubbles in maps.
1133
+ *
1134
+ * @default 0
1135
+ */
1136
+ @Property(0)
1137
+ public animationDelay: number;
1138
+
1139
+ /**
1140
+ * Gets or sets the color for the bubbles in maps.
1141
+ *
1142
+ * @default ''
1143
+ */
1144
+ @Property('')
1145
+ public fill: string;
1146
+ /**
1147
+ * Gets or sets the minimum radius for the bubbles in maps.
1148
+ *
1149
+ * @default 10
1150
+ */
1151
+ @Property(10)
1152
+ public minRadius: number;
1153
+ /**
1154
+ * Gets or sets the maximum radius for the bubbles in maps.
1155
+ *
1156
+ * @default 20
1157
+ */
1158
+ @Property(20)
1159
+ public maxRadius: number;
1160
+ /**
1161
+ * Gets or sets the opacity of the bubbles in maps.
1162
+ *
1163
+ * @default 1
1164
+ */
1165
+ @Property(1)
1166
+ public opacity: number;
1167
+ /**
1168
+ * Gets or sets the field name from the data source of bubble settings based on which the bubbles are rendered on the maps.
1169
+ *
1170
+ * @default null
1171
+ */
1172
+ @Property(null)
1173
+ public valuePath: string;
1174
+ /**
1175
+ * Gets or sets the type of the bubble in maps.
1176
+ *
1177
+ * @default Circle
1178
+ */
1179
+ @Property('Circle')
1180
+ public bubbleType: BubbleType;
1181
+ /**
1182
+ * Gets or sets the field name from the data source of bubble settings to set the color for each bubble in maps.
1183
+ *
1184
+ * @default null
1185
+ */
1186
+ @Property(null)
1187
+ public colorValuePath: string;
1188
+ /**
1189
+ * Gets or sets the color-mapping for the bubbles in maps.
1190
+ *
1191
+ * @default []
1192
+ */
1193
+ @Collection<ColorMappingSettingsModel>([], ColorMappingSettings)
1194
+ public colorMapping: ColorMappingSettingsModel[];
1195
+
1196
+ /**
1197
+ * Gets or sets the options to customize the tooltip of the bubbles in maps.
1198
+ */
1199
+ @Complex<TooltipSettingsModel>({}, TooltipSettings)
1200
+ public tooltipSettings: TooltipSettingsModel;
1201
+ /**
1202
+ * Gets or sets the options to customize the selection of the bubbles in maps.
1203
+ */
1204
+ @Complex<SelectionSettingsModel>({}, SelectionSettings)
1205
+ public selectionSettings: SelectionSettingsModel;
1206
+ /**
1207
+ * Gets or sets the options to customize the highlight of the bubbles in maps.
1208
+ */
1209
+ @Complex<HighlightSettingsModel>({}, HighlightSettings)
1210
+ public highlightSettings: HighlightSettingsModel;
1211
+ }
1212
+
1213
+ /**
1214
+ * Gets or sets the options to customize the title of the maps.
1215
+ */
1216
+ export class CommonTitleSettings extends ChildProperty<CommonTitleSettings> {
1217
+ /**
1218
+ * Gets or sets the text for the title in maps.
1219
+ *
1220
+ * @default ''
1221
+ */
1222
+ @Property('')
1223
+ public text: string;
1224
+ /**
1225
+ * Gets or sets the description of the title in maps for assistive technology.
1226
+ *
1227
+ * @default ''
1228
+ */
1229
+ @Property('')
1230
+ public description: string;
1231
+ }
1232
+ /**
1233
+ * Gets or sets the options to customize the subtitle of the maps.
1234
+ */
1235
+ export class SubTitleSettings extends CommonTitleSettings {
1236
+ /**
1237
+ * Gets or sets the options for customizing the text in the subtitle of the maps.
1238
+ */
1239
+ @Complex<FontModel>({ size: null, fontWeight: null, fontFamily: null }, Font)
1240
+ public textStyle: FontModel;
1241
+ /**
1242
+ * Gets or sets the alignment of the subtitle of the maps.
1243
+ *
1244
+ * @default Center
1245
+ */
1246
+ @Property('Center')
1247
+ public alignment: Alignment;
1248
+ }
1249
+ /**
1250
+ * Gets or sets the options to customize the title of the maps.
1251
+ */
1252
+ export class TitleSettings extends CommonTitleSettings {
1253
+ /**
1254
+ * Gets or sets the options for customizing the text of the title in maps.
1255
+ */
1256
+ @Complex<FontModel>({ size: null, fontWeight: null, fontFamily: null }, Font)
1257
+ public textStyle: FontModel;
1258
+ /**
1259
+ * Gets or sets the alignment of the title of the maps.
1260
+ *
1261
+ * @default Center
1262
+ */
1263
+ @Property('Center')
1264
+ public alignment: Alignment;
1265
+ /**
1266
+ * Gets or sets the options to customize the subtitle of the maps.
1267
+ */
1268
+ @Complex<SubTitleSettingsModel>({}, SubTitleSettings)
1269
+ public subtitleSettings: SubTitleSettingsModel;
1270
+ }
1271
+ /**
1272
+ * Gets or sets the options to configure maps zooming operations.
1273
+ */
1274
+ export class ZoomSettings extends ChildProperty<ZoomSettings> {
1275
+ /**
1276
+ * Enables or disables the zooming operation in the maps.
1277
+ *
1278
+ * @default false
1279
+ */
1280
+ @Property(false)
1281
+ public enable: boolean;
1282
+
1283
+ /**
1284
+ * Enables or disables the panning operation in the maps.
1285
+ *
1286
+ * @default true
1287
+ */
1288
+ @Property(true)
1289
+ public enablePanning: boolean;
1290
+
1291
+ /**
1292
+ * Enables or disables the selection zooming operation in the maps.
1293
+ *
1294
+ * @default true
1295
+ */
1296
+ @Property(true)
1297
+ public enableSelectionZooming: boolean;
1298
+ /**
1299
+ * Enables or disables the mouse wheel zooming in maps.
1300
+ *
1301
+ * @default true
1302
+ */
1303
+ @Property(true)
1304
+ public mouseWheelZoom: boolean;
1305
+
1306
+ /**
1307
+ * Enables or disables the double click zooming in maps.
1308
+ *
1309
+ * @default false
1310
+ */
1311
+ @Property(false)
1312
+ public doubleClickZoom: boolean;
1313
+ /**
1314
+ * Enables or disables the pinch zooming in maps.
1315
+ *
1316
+ * @default true
1317
+ */
1318
+ @Property(true)
1319
+ public pinchZooming: boolean;
1320
+ /**
1321
+ * Enables or disables the zooming on clicking the shapes in maps.
1322
+ *
1323
+ * @default false
1324
+ */
1325
+ @Property(false)
1326
+ public zoomOnClick: boolean;
1327
+ /**
1328
+ * Gets or sets the factor of zoom to be displayed while rendering the maps.
1329
+ *
1330
+ * @default 1
1331
+ */
1332
+ @Property(1)
1333
+ public zoomFactor: number;
1334
+ /**
1335
+ * Gets or sets the maximum zooming value in maps.
1336
+ *
1337
+ * @default 10
1338
+ */
1339
+ @Property(10)
1340
+ public maxZoom: number;
1341
+ /**
1342
+ * Gets or sets the minimum zooming value in maps.
1343
+ *
1344
+ * @default 1
1345
+ */
1346
+ @Property(1)
1347
+ public minZoom: number;
1348
+ /**
1349
+ * Enables or disables the ability to zoom based on the marker position while rendering the maps.
1350
+ *
1351
+ * @default false
1352
+ */
1353
+ @Property(false)
1354
+ public shouldZoomInitially: boolean;
1355
+ /**
1356
+ * Enables or disables the zoom to set to the initial State.
1357
+ *
1358
+ * @default true
1359
+ */
1360
+ @Property(true)
1361
+ public resetToInitial: boolean;
1362
+ /**
1363
+ * Gets or sets the detailed options to customize the entire zoom toolbar.
1364
+ */
1365
+ @Complex<ZoomToolbarSettingsModel>({ }, ZoomToolbarSettings)
1366
+ public toolbarSettings: ZoomToolbarSettingsModel;
1367
+
1368
+ }
1369
+
1370
+ /**
1371
+ * Gets or sets the settings to customize the color-mapping visibility based on the legend visibility.
1372
+ */
1373
+ export class ToggleLegendSettings extends ChildProperty<ToggleLegendSettings> {
1374
+ /**
1375
+ * Enables or disables the legend to be toggled.
1376
+ *
1377
+ * @default false
1378
+ */
1379
+ @Property(false)
1380
+ public enable: boolean;
1381
+ /**
1382
+ * Specifies whether the property of the shape settings is to be set while toggling the legend item.
1383
+ *
1384
+ * @default true
1385
+ */
1386
+ @Property(true)
1387
+ public applyShapeSettings: boolean;
1388
+ /**
1389
+ * Gets or sets the opacity for the shape of the legend item which is toggled.
1390
+ *
1391
+ * @default 1
1392
+ */
1393
+ @Property(1)
1394
+ public opacity: number;
1395
+ /**
1396
+ * Gets or sets the color of the shape of the legend item which is toggled.
1397
+ *
1398
+ * @default ''
1399
+ */
1400
+ @Property('')
1401
+ public fill: string;
1402
+ /**
1403
+ * Gets or sets the options to customize the style properties of the border for the shape in maps.
1404
+ */
1405
+ @Complex<BorderModel>({ color: '', width: 0 }, Border)
1406
+ public border: BorderModel;
1407
+ }
1408
+ /**
1409
+ * Gets or sets the options to customize the legend of the maps.
1410
+ */
1411
+ export class LegendSettings extends ChildProperty<LegendSettings> {
1412
+ /**
1413
+ * Enables or disables to render the legend item based on the shapes from the data source of markers.
1414
+ *
1415
+ * @default false
1416
+ */
1417
+ @Property(false)
1418
+ public useMarkerShape: boolean;
1419
+ /**
1420
+ * Enables or disables the toggle visibility of the legend in maps.
1421
+ *
1422
+ * @default false
1423
+ */
1424
+ @Property(false)
1425
+ public toggleVisibility: boolean;
1426
+ /**
1427
+ * Enables or disables the visibility of the legend in maps.
1428
+ *
1429
+ * @default false
1430
+ */
1431
+ @Property(false)
1432
+ public visible: boolean;
1433
+
1434
+ /**
1435
+ * Gets or sets the background color for the legend in maps.
1436
+ *
1437
+ * @default 'transparent'
1438
+ */
1439
+ @Property('transparent')
1440
+ public background: string;
1441
+
1442
+ /**
1443
+ * Gets or sets the type of the legend in maps.
1444
+ *
1445
+ * @default Layers
1446
+ */
1447
+ @Property('Layers')
1448
+ public type: LegendType;
1449
+
1450
+ /**
1451
+ * Enables or disables the visibility of the inverted pointer in interactive legend in maps.
1452
+ *
1453
+ * @default false
1454
+ */
1455
+ @Property(false)
1456
+ public invertedPointer: boolean;
1457
+
1458
+ /**
1459
+ * Gets or sets the position of the label in legend.
1460
+ *
1461
+ * @default After
1462
+ */
1463
+ @Property('After')
1464
+ public labelPosition: LabelPosition;
1465
+ /**
1466
+ * Gets or sets the action to perform when the legend item text intersects with others.
1467
+ *
1468
+ * @default None
1469
+ */
1470
+ @Property('None')
1471
+ public labelDisplayMode: LabelIntersectAction;
1472
+ /**
1473
+ * Gets or sets the shape of the legend in maps.
1474
+ *
1475
+ * @default Circle
1476
+ */
1477
+ @Property('Circle')
1478
+ public shape: LegendShape;
1479
+
1480
+ /**
1481
+ * Gets or sets the width of the legend in maps.
1482
+ *
1483
+ * @default ''
1484
+ */
1485
+ @Property('')
1486
+ public width: string;
1487
+
1488
+ /**
1489
+ * Gets or sets the height of the legend in maps.
1490
+ *
1491
+ * @default ''
1492
+ */
1493
+ @Property('')
1494
+ public height: string;
1495
+
1496
+ /**
1497
+ * Gets or sets the options for customizing the text styles of the legend item text in maps.
1498
+ */
1499
+ @Complex<FontModel>({ fontFamily: null, fontWeight: null }, Font)
1500
+ public textStyle: FontModel;
1501
+
1502
+ /**
1503
+ * Gets or sets the width of the shapes in legend.
1504
+ *
1505
+ * @default 15
1506
+ */
1507
+ @Property(15)
1508
+ public shapeWidth: number;
1509
+
1510
+ /**
1511
+ * Gets or sets the height of the shapes in legend.
1512
+ *
1513
+ * @default 15
1514
+ */
1515
+ @Property(15)
1516
+ public shapeHeight: number;
1517
+
1518
+ /**
1519
+ * Gets or sets the padding for the shapes in legend.
1520
+ *
1521
+ * @default 10
1522
+ */
1523
+ @Property(10)
1524
+ public shapePadding: number;
1525
+
1526
+ /**
1527
+ * Gets or sets the options for customizing the style properties of the legend border.
1528
+ */
1529
+ @Complex<BorderModel>({ color: null, width: 0 }, Border)
1530
+ public border: BorderModel;
1531
+
1532
+ /**
1533
+ * Gets or sets the options for customizing the style properties of the border of the shapes of the legend items.
1534
+ */
1535
+ @Complex<BorderModel>({ color: '#000000', width: 0 }, Border)
1536
+ public shapeBorder: BorderModel;
1537
+
1538
+ /**
1539
+ * Gets or sets the title for the legend in maps.
1540
+ */
1541
+ @Complex<CommonTitleSettingsModel>({}, CommonTitleSettings)
1542
+ public title: CommonTitleSettingsModel;
1543
+
1544
+ /**
1545
+ * Gets or sets the options for customizing the style of the title of the legend in maps.
1546
+ */
1547
+ @Complex<FontModel>({ size: null, color: Theme.legendTitleFont.color, fontStyle: Theme.legendTitleFont.fontStyle, fontWeight: null, fontFamily: null }, Font)
1548
+ public titleStyle: FontModel;
1549
+
1550
+ /**
1551
+ * Gets or sets the position of the legend in maps.
1552
+ *
1553
+ * @default Bottom
1554
+ */
1555
+ @Property('Bottom')
1556
+ public position: LegendPosition;
1557
+
1558
+ /**
1559
+ * Gets or sets the alignment of the legend in maps.
1560
+ *
1561
+ * @default Center
1562
+ */
1563
+ @Property('Center')
1564
+ public alignment: Alignment;
1565
+
1566
+ /**
1567
+ * Gets or sets the orientation of the legend in maps.
1568
+ *
1569
+ * @default None
1570
+ */
1571
+ @Property('None')
1572
+ public orientation: LegendArrangement;
1573
+
1574
+ /**
1575
+ * Gets or sets the location of the legend in pixels when the legend position is set as `Float`.
1576
+ */
1577
+ @Property({ x: 0, y: 0 })
1578
+ public location: RelativePoint | Point;
1579
+
1580
+ /**
1581
+ * Gets or sets the color of the legend in maps.
1582
+ *
1583
+ * @default null
1584
+ */
1585
+ @Property(null)
1586
+ public fill: string;
1587
+
1588
+ /**
1589
+ * Gets or sets the opacity for the legend in maps.
1590
+ *
1591
+ * @default 1
1592
+ */
1593
+ @Property(1)
1594
+ public opacity: number;
1595
+
1596
+ /**
1597
+ * Gets or sets the mode of the legend in maps. The modes available are default and interactive modes.
1598
+ *
1599
+ * @default Default
1600
+ */
1601
+ @Property('Default')
1602
+ public mode: LegendMode;
1603
+
1604
+ /**
1605
+ * Gets or sets the field name from the data source which is used to provide visibility state for each legend item.
1606
+ *
1607
+ * @default null
1608
+ */
1609
+ @Property(null)
1610
+ public showLegendPath: string;
1611
+
1612
+ /**
1613
+ * Set and gets the field name from the data source to display the legend item text.
1614
+ *
1615
+ * @default null
1616
+ */
1617
+ @Property(null)
1618
+ public valuePath: string;
1619
+
1620
+ /**
1621
+ * Enables or disables the ability to remove the duplicate legend item.
1622
+ *
1623
+ * @default false
1624
+ */
1625
+ @Property(false)
1626
+ public removeDuplicateLegend: boolean;
1627
+
1628
+ /**
1629
+ * Gets or sets the options for customizing the color and border width of the shape related to the legend when selecting the legend.
1630
+ */
1631
+ @Complex<ToggleLegendSettingsModel>({}, ToggleLegendSettings)
1632
+ public toggleLegendSettings: ToggleLegendSettingsModel;
1633
+ }
1634
+ /**
1635
+ * Gets or sets the options to customize the data labels in maps.
1636
+ */
1637
+ export class DataLabelSettings extends ChildProperty<DataLabelSettings> {
1638
+ /**
1639
+ * Enables or disables the visibility of data labels in maps.
1640
+ *
1641
+ * @default false
1642
+ */
1643
+ @Property(false)
1644
+ public visible: boolean;
1645
+ /**
1646
+ * Gets or sets the options for customizing the style properties of the border of the data labels.
1647
+ */
1648
+ @Complex<BorderModel>({ width: 0, color: 'transparent' }, Border)
1649
+ public border: BorderModel;
1650
+ /**
1651
+ * Gets or sets the background color for the data labels in maps.
1652
+ *
1653
+ * @default 'black'
1654
+ */
1655
+ @Property('black')
1656
+ public fill: string;
1657
+ /**
1658
+ * Gets or sets the opacity of the data labels in maps.
1659
+ *
1660
+ * @default 1
1661
+ */
1662
+ @Property(1)
1663
+ public opacity: number;
1664
+ /**
1665
+ * Gets or sets the x position for the data labels.
1666
+ *
1667
+ * @default 10
1668
+ */
1669
+ @Property(5)
1670
+ public rx: number;
1671
+
1672
+ /**
1673
+ * Gets or sets the y position for the data labels in maps.
1674
+ *
1675
+ * @default 10
1676
+ */
1677
+ @Property(5)
1678
+ public ry: number;
1679
+ /**
1680
+ * Gets or sets the options for customizing the styles of the text in data labels.
1681
+ */
1682
+ @Complex<FontModel>({fontWeight: null}, Font)
1683
+ public textStyle: FontModel;
1684
+ /**
1685
+ * Gets or sets the field name from the data source based on which the data labels gets rendered.
1686
+ * The field name from the GeoJSON data can also be set.
1687
+ *
1688
+ * @default ''
1689
+ */
1690
+ @Property('')
1691
+ public labelPath: string;
1692
+ /**
1693
+ * Gets or sets the action to be performed when the data labels exceeds the shape over which it is rendered.
1694
+ *
1695
+ * @default None
1696
+ */
1697
+ @Property('None')
1698
+ public smartLabelMode: SmartLabelMode;
1699
+ /**
1700
+ * Gets or sets the action to be performed when a data-label intersect with other data labels in maps.
1701
+ *
1702
+ * @default None
1703
+ */
1704
+ @Property('None')
1705
+ public intersectionAction: IntersectAction;
1706
+ /**
1707
+ * Gets or sets the template for the data labels to render custom elements.
1708
+ *
1709
+ * @default ''
1710
+ * @aspType string
1711
+ */
1712
+ @Property('')
1713
+ public template: string | Function;
1714
+
1715
+ /**
1716
+ * Gets and sets the duration time for animating the data label.
1717
+ *
1718
+ * @default 0
1719
+ */
1720
+ @Property(0)
1721
+ public animationDuration: number;
1722
+ }
1723
+ /**
1724
+ * Gets or sets the options to customize the shapes in the maps.
1725
+ */
1726
+ export class ShapeSettings extends ChildProperty<ShapeSettings> {
1727
+ /**
1728
+ * Gets or sets the color of the shapes in maps.
1729
+ *
1730
+ * @default null
1731
+ */
1732
+ @Property(null)
1733
+ public fill: string;
1734
+ /**
1735
+ * Gets or sets a set of colors for the shapes in maps.
1736
+ *
1737
+ * @default []
1738
+ */
1739
+ @Property([])
1740
+ public palette: string[];
1741
+
1742
+ /**
1743
+ * Gets or sets the radius of the "Point" and "MultiPoint" geometry shapes.
1744
+ * This property will be applicable only when the GeoJSON data has "Point" and "MultiPoint" geometry types.
1745
+ */
1746
+ @Property(5)
1747
+ public circleRadius: number;
1748
+
1749
+ /**
1750
+ * Gets or sets the options for customizing the style properties of the border for the shapes in maps.
1751
+ */
1752
+ @Complex<BorderModel>({ width: null, color: null }, Border)
1753
+ public border: BorderModel;
1754
+
1755
+ /**
1756
+ * Gets or sets the dash-array for the shapes in maps.
1757
+ */
1758
+ @Property('')
1759
+ public dashArray: string;
1760
+
1761
+ /**
1762
+ * Gets or sets the opacity for the shapes in maps.
1763
+ *
1764
+ * @default 1
1765
+ */
1766
+ @Property(1)
1767
+ public opacity: number;
1768
+ /**
1769
+ * Gets or sets the field name from the data source to set the color for the shapes in maps.
1770
+ *
1771
+ * @default null
1772
+ */
1773
+ @Property(null)
1774
+ public colorValuePath: string;
1775
+ /**
1776
+ * Gets or sets the field name from the data source to set the color for the border of a particular shape in maps.
1777
+ *
1778
+ * @default null
1779
+ */
1780
+ @Property(null)
1781
+ public borderColorValuePath: string;
1782
+ /**
1783
+ * Gets or sets the field name from the data source to set the width for the border of a particular shape in maps.
1784
+ *
1785
+ * @default null
1786
+ */
1787
+ @Property(null)
1788
+ public borderWidthValuePath: string;
1789
+ /**
1790
+ * Gets or sets the value from the data source based on which the shape gets rendered.
1791
+ *
1792
+ * @default null
1793
+ */
1794
+ @Property(null)
1795
+ public valuePath: string;
1796
+ /**
1797
+ * Gets or sets the options to map the color for some set of the shapes in maps.
1798
+ *
1799
+ * @default []
1800
+ */
1801
+ @Collection<ColorMappingSettingsModel>([], ColorMappingSettings)
1802
+ public colorMapping: ColorMappingSettingsModel[];
1803
+ /**
1804
+ * Enables or disables the filling of color, based on the palette, for the shapes automatically.
1805
+ *
1806
+ * @default false
1807
+ */
1808
+ @Property(false)
1809
+ public autofill: boolean;
1810
+ }
1811
+
1812
+ /**
1813
+ * Gets or sets the options to customize the markers in the maps.
1814
+ */
1815
+ export class MarkerBase extends ChildProperty<MarkerBase> {
1816
+
1817
+ /**
1818
+ * Gets or sets the options for customizing the style properties of the border of the marker in maps.
1819
+ */
1820
+ @Complex<BorderModel>({ color: 'transparent', width: 1 }, Border)
1821
+ public border: BorderModel;
1822
+
1823
+ /**
1824
+ * Gets or sets the dash-array for the marker.
1825
+ */
1826
+ @Property(null)
1827
+ public dashArray: string;
1828
+
1829
+ /**
1830
+ * Enables or disables the visibility of the markers in maps.
1831
+ *
1832
+ * @default false
1833
+ */
1834
+ @Property(false)
1835
+ public visible: boolean;
1836
+
1837
+ /**
1838
+ * Enables or disables marker drag and drop functionality at any location on the map.
1839
+ *
1840
+ * @default false
1841
+ */
1842
+ @Property(false)
1843
+ public enableDrag: boolean;
1844
+
1845
+ /**
1846
+ * Gets or sets the color for the marker in maps.
1847
+ *
1848
+ * @default '#FF471A'
1849
+ */
1850
+ @Property('#FF471A')
1851
+ public fill: string;
1852
+
1853
+ /**
1854
+ * Gets or sets the field name from the data source that determines the marker height.
1855
+ *
1856
+ * @default null
1857
+ */
1858
+ @Property(null)
1859
+ public heightValuePath: string;
1860
+
1861
+ /**
1862
+ * Gets or sets the field name from the data source that determines the marker width.
1863
+ *
1864
+ * @default null
1865
+ */
1866
+ @Property(null)
1867
+ public widthValuePath: string;
1868
+
1869
+ /**
1870
+ * Gets or sets the height of the marker in maps.
1871
+ *
1872
+ * @default 10
1873
+ */
1874
+ @Property(10)
1875
+ public height: number;
1876
+
1877
+ /**
1878
+ * Gets or sets the width of the marker in maps.
1879
+ *
1880
+ * @default 10
1881
+ */
1882
+ @Property(10)
1883
+ public width: number;
1884
+
1885
+ /**
1886
+ * Gets or sets the opacity for the marker in maps.
1887
+ *
1888
+ * @default 1
1889
+ */
1890
+ @Property(1)
1891
+ public opacity: number;
1892
+
1893
+ /**
1894
+ * Gets or sets the field name from the marker data source based on which the color is applied for the marker.
1895
+ *
1896
+ * @default null
1897
+ */
1898
+ @Property(null)
1899
+ public colorValuePath: string;
1900
+
1901
+ /**
1902
+ * Gets or sets the field name from the marker data source based on which the shape for individual markers are set.
1903
+ *
1904
+ * @default null
1905
+ */
1906
+ @Property(null)
1907
+ public shapeValuePath: string;
1908
+
1909
+ /**
1910
+ * Gets or sets the field name from the marker data source based on which the image source for the image type marker is got individually.
1911
+ *
1912
+ * @default null
1913
+ */
1914
+ @Property(null)
1915
+ public imageUrlValuePath: string;
1916
+
1917
+ /**
1918
+ * Gets or sets the shape of the marker in maps.
1919
+ *
1920
+ * @default Balloon
1921
+ */
1922
+ @Property('Balloon')
1923
+ public shape: MarkerType;
1924
+
1925
+ /**
1926
+ * Gets or sets the field name from the marker data source to render legend item text for the marker legend.
1927
+ *
1928
+ * @default ''
1929
+ */
1930
+ @Property('')
1931
+ public legendText: string;
1932
+ /**
1933
+ * Gets or sets the offset value from which the marker must be rendered from the intended position.
1934
+ *
1935
+ */
1936
+ @Property(new Point(0, 0))
1937
+ public offset: Point;
1938
+ /**
1939
+ * Gets or sets the URL for rendering the marker as image. This property acts as image source for all the markers in a marker settings.
1940
+ */
1941
+ @Property('')
1942
+ public imageUrl: string;
1943
+
1944
+ /**
1945
+ * Gets or sets the template for the marker to render custom elements.
1946
+ *
1947
+ * @default null
1948
+ * @aspType string
1949
+ */
1950
+ @Property(null)
1951
+ public template: string | Function;
1952
+ /**
1953
+ * Gets or sets the data source for the marker.
1954
+ * The data source for the marker will contain latitude and longitude values to specify the location
1955
+ * of the marker.
1956
+ * The data source can contain data such as color, shape, and other details that can be bound to the color, shape,
1957
+ * and tooltip of the marker.
1958
+ *
1959
+ * @isObservable true
1960
+ * @default []
1961
+ */
1962
+ @Property([])
1963
+ public dataSource: Object[] | DataManager;
1964
+
1965
+ /**
1966
+ * Gets or sets the query to select particular data from the marker data source.
1967
+ * This property is applicable only when the data source is created by data manager.
1968
+ *
1969
+ * @default null
1970
+ */
1971
+ @Property()
1972
+ public query: Query;
1973
+
1974
+ /**
1975
+ * Gets or sets the options to customize the tooltip of the marker in maps.
1976
+ */
1977
+ @Complex<TooltipSettingsModel>({}, TooltipSettings)
1978
+ public tooltipSettings: TooltipSettingsModel;
1979
+
1980
+ /**
1981
+ * Gets or sets the duration time for animating the marker.
1982
+ *
1983
+ * @default 1000
1984
+ */
1985
+ @Property(1000)
1986
+ public animationDuration: number;
1987
+
1988
+ /**
1989
+ * Gets or sets the delay time for the animation in marker.
1990
+ *
1991
+ * @default 0
1992
+ */
1993
+ @Property(0)
1994
+ public animationDelay: number;
1995
+ /**
1996
+ * Gets or sets the options to customize the marker while selecting the marker in maps.
1997
+ */
1998
+ @Complex<SelectionSettingsModel>({}, SelectionSettings)
1999
+ public selectionSettings: SelectionSettingsModel;
2000
+ /**
2001
+ * Gets or sets the options to customize the marker when the mouse hovers over the markers in maps.
2002
+ */
2003
+ @Complex<HighlightSettingsModel>({}, HighlightSettings)
2004
+ public highlightSettings: HighlightSettingsModel;
2005
+ /**
2006
+ * Defines the field name from the marker data source for setting latitude for a set of markers.
2007
+ */
2008
+ @Property(null)
2009
+ public latitudeValuePath: string;
2010
+
2011
+ /**
2012
+ * Defines the field name from the marker data source for setting longitude for a set of markers.
2013
+ */
2014
+ @Property(null)
2015
+ public longitudeValuePath: string;
2016
+
2017
+ /**
2018
+ * Gets or sets the options to select the markers at the initial rendering time of the maps.
2019
+ * The initial selection of markers will be performed only when the selection functionality of marker is enabled.
2020
+ */
2021
+ @Collection<InitialMarkerSelectionSettingsModel>([], InitialMarkerSelectionSettings)
2022
+ public initialMarkerSelection: InitialMarkerSelectionSettingsModel[];
2023
+
2024
+ /**
2025
+ * Gets or sets the options for customizing the clustering of markers on the map.
2026
+ * This property is used to cluster markers based on the current marker settings, and it is applied only when the `allowClustering` property is enabled.
2027
+ */
2028
+ @Complex<MarkerClusterSettingsModel>({}, MarkerClusterSettings)
2029
+ public clusterSettings: MarkerClusterSettingsModel;
2030
+
2031
+ }
2032
+
2033
+ /**
2034
+ * Gets or sets the options to customize the markers in the maps.
2035
+ */
2036
+ export class MarkerSettings extends MarkerBase {
2037
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2038
+ constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean) {
2039
+ super(parent, propName, defaultValue, isArray);
2040
+ }
2041
+ // eslint-enable @typescript-eslint/no-explicit-any
2042
+ // eslint-enable @typescript-eslint/explicit-module-boundary-types
2043
+ }
2044
+
2045
+ /**
2046
+ * Gets or sets the options to customize the layers of the maps.
2047
+ */
2048
+ export class LayerSettings extends ChildProperty<LayerSettings> {
2049
+ /**
2050
+ * Gets or sets the data for the maps to render.
2051
+ * The data is normally JSON object with GeoJSON format that defines the shapes and geometries of the map.
2052
+ *
2053
+ * @isObservable true
2054
+ * @default null
2055
+ */
2056
+ @Property(null)
2057
+ public shapeData: Object | DataManager | MapAjax;
2058
+
2059
+ /**
2060
+ * Gets or sets the query to select particular data from the layer data source.
2061
+ * This property is applicable only when the data source is created by data manager.
2062
+ *
2063
+ * @default null
2064
+ */
2065
+ @Property()
2066
+ public query: Query;
2067
+
2068
+ /**
2069
+ * Gets or sets the options to customize the shape of the maps.
2070
+ */
2071
+ @Complex<ShapeSettingsModel>({}, ShapeSettings)
2072
+ public shapeSettings: ShapeSettingsModel;
2073
+
2074
+ /**
2075
+ * Gets or sets the data source for the layer.
2076
+ * The data bound to the shapes using data source can be used to display the tooltip, marker, and bubble.
2077
+ *
2078
+ * @isObservable true
2079
+ * @default []
2080
+ */
2081
+ @Property([])
2082
+ public dataSource: Object[] | DataManager | MapAjax;
2083
+ /**
2084
+ * Gets or sets the type of the layer in maps. There are two types: Layer and SubLayer.
2085
+ *
2086
+ * @default Layer
2087
+ */
2088
+ @Property('Layer')
2089
+ public type: Type;
2090
+ /**
2091
+ * Gets or sets the geometry type for the layer in maps. There are two types: Geographic and Normal.
2092
+ * - Geographic type renders the shape maps with geographical coordinate system.
2093
+ * - Normal type renders the shape maps using default coordinate system.
2094
+ *
2095
+ * @default Geographic
2096
+ */
2097
+ @Property('Geographic')
2098
+ public geometryType: GeometryType;
2099
+ /**
2100
+ * Gets or sets the URL of the online map providers.
2101
+ * The online map providers will be rendered only when the shape data is not set and layer type is set with default value.
2102
+ *
2103
+ * @default ''
2104
+ */
2105
+ @Property('')
2106
+ public urlTemplate: string;
2107
+ /**
2108
+ * Enables or disables the visibility of the layers in maps.
2109
+ *
2110
+ * @default true
2111
+ */
2112
+ @Property(true)
2113
+ public visible: boolean;
2114
+ /**
2115
+ * Gets or sets the field name from the GeoJSON data to map the shape to the data defined in the layer data source.
2116
+ *
2117
+ * @default 'name'
2118
+ */
2119
+ @Property('name')
2120
+ public shapeDataPath: string;
2121
+ /**
2122
+ * Gets or sets the field name from the data source to map the shape to the data defined in the layer data source.
2123
+ *
2124
+ * @default 'name'
2125
+ */
2126
+ @Property('name')
2127
+ public shapePropertyPath: string | string[];
2128
+ /**
2129
+ * Gets or sets the duration of the animation of layers when the zooming is performed in maps.
2130
+ *
2131
+ * @default 0
2132
+ */
2133
+ @Property(0)
2134
+ public animationDuration: number;
2135
+
2136
+ /**
2137
+ * Gets or sets the options for customizing the markers in maps.
2138
+ */
2139
+ @Collection<MarkerSettingsModel>([], MarkerSettings)
2140
+ public markerSettings: MarkerSettingsModel[];
2141
+ /**
2142
+ * Gets or sets the options for customizing the cluster of markers in maps.
2143
+ */
2144
+ @Complex<MarkerClusterSettingsModel>({}, MarkerClusterSettings)
2145
+ public markerClusterSettings: MarkerClusterSettingsModel;
2146
+ /**
2147
+ * Gets or sets the options for customizing the data labels in maps.
2148
+ */
2149
+ @Complex<DataLabelSettingsModel>({}, DataLabelSettings)
2150
+ public dataLabelSettings: DataLabelSettingsModel;
2151
+ /**
2152
+ * Gets or sets the options for customizing the bubbles in maps.
2153
+ */
2154
+ @Collection<BubbleSettingsModel>([], BubbleSettings)
2155
+ public bubbleSettings: BubbleSettingsModel[];
2156
+ /**
2157
+ * Gets or sets the options for customizing the navigation lines in maps.
2158
+ */
2159
+ @Collection<NavigationLineSettingsModel>([], NavigationLineSettings)
2160
+ public navigationLineSettings: NavigationLineSettingsModel[];
2161
+ /**
2162
+ * Gets or sets the properties of the polygon shapes that will be rendered on a map layer.
2163
+ * The selection and highlight settings for polygon shapes can also be defined.
2164
+ */
2165
+ @Complex<PolygonSettingsModel>({}, PolygonSettings)
2166
+ public polygonSettings: PolygonSettingsModel;
2167
+ /**
2168
+ * Gets or sets the options for customizing the tooltip of the layers in maps.
2169
+ */
2170
+ @Complex<TooltipSettingsModel>({}, TooltipSettings)
2171
+ public tooltipSettings: TooltipSettingsModel;
2172
+ /**
2173
+ * Gets or sets the options for customizing the shapes when clicking on the shapes in maps.
2174
+ */
2175
+ @Complex<SelectionSettingsModel>({}, SelectionSettings)
2176
+ public selectionSettings: SelectionSettingsModel;
2177
+ /**
2178
+ * Gets or sets the options for customizing the shapes when the mouse hovers over maps.
2179
+ */
2180
+ @Complex<HighlightSettingsModel>({}, HighlightSettings)
2181
+ public highlightSettings: HighlightSettingsModel;
2182
+ /**
2183
+ * Gets or sets the options for customizing the toggle state of shapes when selecting the legend in maps.
2184
+ */
2185
+ @Complex<ToggleLegendSettingsModel>({}, ToggleLegendSettings)
2186
+ public toggleLegendSettings: ToggleLegendSettingsModel;
2187
+ /**
2188
+ * Gets or sets the settings for the shapes to be selected when the maps rendering initially.
2189
+ * The initial selection of shapes will be performed only when the selection functionality of layer is enabled.
2190
+ */
2191
+ @Collection<InitialShapeSelectionSettingsModel>([], InitialShapeSelectionSettings)
2192
+ public initialShapeSelection: InitialShapeSelectionSettingsModel[];
2193
+
2194
+
2195
+ /** @private */
2196
+ public layerData: Object[];
2197
+ /**
2198
+ * @private
2199
+ */
2200
+ public isBaseLayer: boolean = false;
2201
+ /**
2202
+ * @private
2203
+ */
2204
+ public factor: number;
2205
+ /**
2206
+ * @private
2207
+ */
2208
+ public layerBounds: GeoLocation;
2209
+ /**
2210
+ * @private
2211
+ */
2212
+ public rectBounds: Object;
2213
+ /**
2214
+ * @private
2215
+ */
2216
+ public translatePoint: Point;
2217
+ }
2218
+ /**
2219
+ * Internal use for bing type layer rendering
2220
+ */
2221
+ export class Tile {
2222
+ public x: number;
2223
+ public y: number;
2224
+ public top: number;
2225
+ public left: number;
2226
+ public height: number;
2227
+ public width: number;
2228
+ public src: string;
2229
+ constructor(x: number, y: number, height: number = 256, width: number = 256, top: number = 0, left: number = 0, src: string = null) {
2230
+ this.x = x;
2231
+ this.y = y;
2232
+ this.top = top;
2233
+ this.left = left;
2234
+ this.height = height;
2235
+ this.width = width;
2236
+ this.src = src;
2237
+ }
2238
+ }
2239
+ /**
2240
+ * Gets or sets the options to customize the area around the shapes in the map layer.
2241
+ */
2242
+ export class MapsAreaSettings extends ChildProperty<MapsAreaSettings> {
2243
+ /**
2244
+ * Gets or sets the background color for the map area.
2245
+ *
2246
+ * @default null
2247
+ */
2248
+ @Property(null)
2249
+ public background: string;
2250
+
2251
+ /**
2252
+ * Gets or sets the options for customizing the style properties of the border of maps area.
2253
+ */
2254
+ @Complex<BorderModel>({ color: 'transparent', width: 1 }, Border)
2255
+ public border: BorderModel;
2256
+
2257
+ }