@amcharts/amcharts5 5.5.5 → 5.5.6

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 (195) hide show
  1. package/.internal/charts/map/ClusteredPointSeries.d.ts +92 -0
  2. package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -0
  3. package/.internal/charts/map/ClusteredPointSeries.js +223 -0
  4. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -0
  5. package/.internal/charts/map/MapPointSeries.d.ts +18 -0
  6. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  7. package/.internal/charts/map/MapPointSeries.js +43 -1
  8. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  9. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  10. package/.internal/charts/xy/axes/AxisRenderer.js +1 -0
  11. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  12. package/.internal/core/Classes.d.ts +7 -1
  13. package/.internal/core/Classes.d.ts.map +1 -1
  14. package/.internal/core/Classes.js.map +1 -1
  15. package/.internal/core/Registry.js +1 -1
  16. package/.internal/core/Registry.js.map +1 -1
  17. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  18. package/.internal/core/render/backend/CanvasRenderer.js +1 -0
  19. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  20. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  21. package/.internal/core/util/DateFormatter.js +4 -0
  22. package/.internal/core/util/DateFormatter.js.map +1 -1
  23. package/.internal/plugins/json/Classes-script.d.ts +10 -0
  24. package/.internal/plugins/json/Classes-script.d.ts.map +1 -1
  25. package/.internal/plugins/json/Classes-script.js +5 -0
  26. package/.internal/plugins/json/Classes-script.js.map +1 -1
  27. package/.internal/plugins/json/Classes.d.ts +10 -0
  28. package/.internal/plugins/json/Classes.d.ts.map +1 -1
  29. package/.internal/plugins/json/Classes.js +5 -0
  30. package/.internal/plugins/json/Classes.js.map +1 -1
  31. package/CHANGELOG.md +12 -0
  32. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  33. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  34. package/examples/javascript/flow-chord/package.json +1 -1
  35. package/examples/javascript/flow-chord-directed/package.json +1 -1
  36. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  37. package/examples/javascript/flow-sankey/package.json +1 -1
  38. package/examples/javascript/gauge/package.json +1 -1
  39. package/examples/javascript/gauge-bands/package.json +1 -1
  40. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  41. package/examples/javascript/hierarchy-pack/package.json +1 -1
  42. package/examples/javascript/hierarchy-partition/package.json +1 -1
  43. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  44. package/examples/javascript/hierarchy-tree/package.json +1 -1
  45. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  46. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  47. package/examples/javascript/jest/package.json +1 -1
  48. package/examples/javascript/json-pie/package.json +1 -1
  49. package/examples/javascript/json-xy/package.json +1 -1
  50. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  51. package/examples/javascript/map-clustered-points/README.md +6 -0
  52. package/examples/javascript/map-clustered-points/index.css +11 -0
  53. package/examples/javascript/map-clustered-points/index.html +12 -0
  54. package/examples/javascript/map-clustered-points/index.js +292 -0
  55. package/examples/javascript/map-clustered-points/package.json +16 -0
  56. package/examples/javascript/map-clustered-points/webpack.config.js +38 -0
  57. package/examples/javascript/map-day-and-night/package.json +1 -1
  58. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  59. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  60. package/examples/javascript/map-with-bubbles/package.json +1 -1
  61. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  62. package/examples/javascript/misc-40-charts/package.json +1 -1
  63. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  64. package/examples/javascript/pie-chart/package.json +1 -1
  65. package/examples/javascript/pie-donut-chart/package.json +1 -1
  66. package/examples/javascript/pie-variable-radius/package.json +1 -1
  67. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  68. package/examples/javascript/radar-heat-map/package.json +1 -1
  69. package/examples/javascript/radar-line/package.json +1 -1
  70. package/examples/javascript/radar-time-line/package.json +1 -1
  71. package/examples/javascript/sliced-funnel/package.json +1 -1
  72. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  73. package/examples/javascript/sliced-pyramid/package.json +1 -1
  74. package/examples/javascript/stock-chart/package.json +1 -1
  75. package/examples/javascript/stock-chart-comparing-stocks/index.js +3 -0
  76. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  77. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  78. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  79. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  80. package/examples/javascript/stock-chart-live/package.json +1 -1
  81. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  82. package/examples/javascript/venn-diagram/package.json +1 -1
  83. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  84. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  85. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  86. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  87. package/examples/javascript/xy-bubble/package.json +1 -1
  88. package/examples/javascript/xy-candlestick/package.json +1 -1
  89. package/examples/javascript/xy-clustered-column/package.json +1 -1
  90. package/examples/javascript/xy-column/package.json +1 -1
  91. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  92. package/examples/javascript/xy-data-grouping/package.json +1 -1
  93. package/examples/javascript/xy-draggable-range/package.json +1 -1
  94. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  95. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  96. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  97. package/examples/javascript/xy-line/package.json +1 -1
  98. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  99. package/examples/javascript/xy-live-data/package.json +1 -1
  100. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  101. package/examples/javascript/xy-ohlc/package.json +1 -1
  102. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  103. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  104. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  105. package/examples/javascript/xy-stacked-column/package.json +1 -1
  106. package/examples/javascript/xy-stacked-step/package.json +1 -1
  107. package/examples/javascript/xy-stock/package.json +1 -1
  108. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  109. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  110. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  111. package/examples/typescript/flow-chord/package.json +1 -1
  112. package/examples/typescript/flow-chord-directed/package.json +1 -1
  113. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  114. package/examples/typescript/flow-sankey/package.json +1 -1
  115. package/examples/typescript/gauge/package.json +1 -1
  116. package/examples/typescript/gauge-bands/package.json +1 -1
  117. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  118. package/examples/typescript/hierarchy-pack/package.json +1 -1
  119. package/examples/typescript/hierarchy-partition/package.json +1 -1
  120. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  121. package/examples/typescript/hierarchy-tree/package.json +1 -1
  122. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  123. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  124. package/examples/typescript/jest/package.json +1 -1
  125. package/examples/typescript/json-pie/package.json +1 -1
  126. package/examples/typescript/json-xy/package.json +1 -1
  127. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  128. package/examples/typescript/map-clustered-points/README.md +6 -0
  129. package/examples/typescript/map-clustered-points/index.css +11 -0
  130. package/examples/typescript/map-clustered-points/index.html +12 -0
  131. package/examples/typescript/map-clustered-points/index.ts +292 -0
  132. package/examples/typescript/map-clustered-points/package.json +18 -0
  133. package/examples/typescript/map-clustered-points/tsconfig.json +12 -0
  134. package/examples/typescript/map-clustered-points/webpack.config.js +45 -0
  135. package/examples/typescript/map-day-and-night/package.json +1 -1
  136. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  137. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  138. package/examples/typescript/map-with-bubbles/package.json +1 -1
  139. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  140. package/examples/typescript/misc-40-charts/package.json +1 -1
  141. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  142. package/examples/typescript/pie-chart/package.json +1 -1
  143. package/examples/typescript/pie-donut-chart/package.json +1 -1
  144. package/examples/typescript/pie-variable-radius/package.json +1 -1
  145. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  146. package/examples/typescript/radar-heat-map/package.json +1 -1
  147. package/examples/typescript/radar-line/package.json +1 -1
  148. package/examples/typescript/radar-time-line/package.json +1 -1
  149. package/examples/typescript/sliced-funnel/package.json +1 -1
  150. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  151. package/examples/typescript/sliced-pyramid/package.json +1 -1
  152. package/examples/typescript/stock-chart/package.json +1 -1
  153. package/examples/typescript/stock-chart-comparing-stocks/index.ts +3 -0
  154. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  155. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  156. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  157. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  158. package/examples/typescript/stock-chart-live/package.json +1 -1
  159. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  160. package/examples/typescript/venn-diagram/package.json +1 -1
  161. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  162. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  163. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  164. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  165. package/examples/typescript/xy-bubble/package.json +1 -1
  166. package/examples/typescript/xy-candlestick/package.json +1 -1
  167. package/examples/typescript/xy-clustered-column/package.json +1 -1
  168. package/examples/typescript/xy-column/package.json +1 -1
  169. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  170. package/examples/typescript/xy-data-grouping/package.json +1 -1
  171. package/examples/typescript/xy-draggable-range/package.json +1 -1
  172. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  173. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  174. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  175. package/examples/typescript/xy-line/package.json +1 -1
  176. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  177. package/examples/typescript/xy-live-data/package.json +1 -1
  178. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  179. package/examples/typescript/xy-ohlc/package.json +1 -1
  180. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  181. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  182. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  183. package/examples/typescript/xy-stacked-column/package.json +1 -1
  184. package/examples/typescript/xy-stacked-step/package.json +1 -1
  185. package/examples/typescript/xy-stock/package.json +1 -1
  186. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  187. package/map.d.ts +1 -0
  188. package/map.d.ts.map +1 -1
  189. package/map.js +1 -0
  190. package/map.js.map +1 -1
  191. package/package.json +1 -1
  192. package/stock.d.ts +1 -0
  193. package/stock.d.ts.map +1 -1
  194. package/stock.js +1 -0
  195. package/stock.js.map +1 -1
@@ -0,0 +1,92 @@
1
+ import { MapPointSeries, IMapPointSeriesSettings, IMapPointSeriesPrivate, IMapPointSeriesDataItem } from "./MapPointSeries";
2
+ import { DataItem, IComponentDataItem } from "../../core/render/Component";
3
+ import type { Root } from "../../core/Root";
4
+ import type { Bullet } from "../../core/render/Bullet";
5
+ export interface IClusteredDataItem extends IComponentDataItem {
6
+ /**
7
+ * All the data items of this cluster
8
+ */
9
+ children?: Array<DataItem<IMapPointSeriesDataItem>>;
10
+ /**
11
+ * Bullet of clustered data item
12
+ */
13
+ bullet?: Bullet;
14
+ }
15
+ export interface IClusteredPointSeriesDataItem extends IMapPointSeriesDataItem {
16
+ /**
17
+ * An ID of a bullet's group.
18
+ */
19
+ groupId?: string;
20
+ /**
21
+ * Clustered data item (if available)
22
+ * @readonly
23
+ */
24
+ cluster?: DataItem<IClusteredDataItem>;
25
+ }
26
+ export interface IClusteredPointSeriesPrivate extends IMapPointSeriesPrivate {
27
+ }
28
+ export interface IClusteredPointSeriesSettings extends IMapPointSeriesSettings {
29
+ /**
30
+ * Series data can contain a field with an ID of a virtual group the bullet
31
+ * belongs to.
32
+ *
33
+ * For example, we migth want bullets to group with other bullets from the
34
+ * same continent.
35
+ *
36
+ * `groupIdField` specifies which field in source data holds group IDs.
37
+ *
38
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_segregation} for more info
39
+ * @default groupID
40
+ */
41
+ groupIdField?: string;
42
+ /**
43
+ * Bullets that are closer than X pixels apart, will be automatically grouped.
44
+ *
45
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Minimal_distance} for more info
46
+ * @default 20
47
+ */
48
+ minDistance?: number;
49
+ /**
50
+ * Set this to a [[Bullet]] instance which will be used to show groups.
51
+ *
52
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_bullet} for more info
53
+ */
54
+ clusteredBullet?: (root: Root, series: ClusteredPointSeries, dataItem: DataItem<IClusteredPointSeriesDataItem>) => Bullet | undefined;
55
+ }
56
+ /**
57
+ * A version of [[MapPointSeries]] which can automatically group closely located
58
+ * bullets into groups.
59
+ *
60
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/} for more info
61
+ * @since 5.5.6
62
+ * @important
63
+ */
64
+ export declare class ClusteredPointSeries extends MapPointSeries {
65
+ static className: string;
66
+ static classNames: Array<string>;
67
+ _settings: IClusteredPointSeriesSettings;
68
+ _privateSettings: IClusteredPointSeriesPrivate;
69
+ _dataItemSettings: IClusteredPointSeriesDataItem;
70
+ protected _dataItem: DataItem<this["_dataItemSettings"]>;
71
+ protected _clusterIndex: number;
72
+ protected _clusters: Array<Array<DataItem<this["_dataItemSettings"]>>>;
73
+ clusteredDataItems: Array<DataItem<IClusteredDataItem>>;
74
+ protected _afterNew(): void;
75
+ _updateChildren(): void;
76
+ /**
77
+ * Zooms to the area so that all clustered data items of a cluster would be
78
+ * visible.
79
+ *
80
+ * Pass in `true` as a second parameter to rotate that map so that the group
81
+ * is in the center. This is especially useful in the maps that use
82
+ * Orthographic (globe) projection.
83
+ *
84
+ * @param dataItem Group data item
85
+ * @param rotate Rotate the map so that group is in the center?
86
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Drill_down} for more info
87
+ */
88
+ zoomToCluster(dataItem: DataItem<IClusteredDataItem>, rotate?: boolean): void;
89
+ protected _clusterGroup(dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>): void;
90
+ protected _clusterDataItem(dataItem: DataItem<IClusteredPointSeriesDataItem>, dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>): void;
91
+ }
92
+ //# sourceMappingURL=ClusteredPointSeries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusteredPointSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ClusteredPointSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAQvD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC7D;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC7E;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB;CAE3E;AAED,MAAM,WAAW,6BAA8B,SAAQ,uBAAuB;IAC7E;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,6BAA6B,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC;CACtI;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,cAAc;IAEvD,OAAc,SAAS,EAAE,MAAM,CAA0B;IACzD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsE;IAE9F,SAAS,EAAE,6BAA6B,CAAC;IACzC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,iBAAiB,EAAE,6BAA6B,CAAC;IAEhE,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAyB;IACjF,SAAS,CAAC,aAAa,EAAE,MAAM,CAAK;IACpC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM;IAErE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAM;IAEpE,SAAS,CAAC,SAAS;IAOZ,eAAe;IA4CtB;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO;IAI7E,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAiHjF,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,6BAA6B,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;CAkBvI"}
@@ -0,0 +1,223 @@
1
+ import { MapPointSeries } from "./MapPointSeries";
2
+ import { DataItem } from "../../core/render/Component";
3
+ import { Container } from "../../core/render/Container";
4
+ import { Label } from "../../core/render/Label";
5
+ import * as $array from "../../core/util/Array";
6
+ import * as $object from "../../core/util/Object";
7
+ /**
8
+ * A version of [[MapPointSeries]] which can automatically group closely located
9
+ * bullets into groups.
10
+ *
11
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/} for more info
12
+ * @since 5.5.6
13
+ * @important
14
+ */
15
+ export class ClusteredPointSeries extends MapPointSeries {
16
+ constructor() {
17
+ super(...arguments);
18
+ Object.defineProperty(this, "_dataItem", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: this.makeDataItem({})
23
+ });
24
+ Object.defineProperty(this, "_clusterIndex", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: 0
29
+ });
30
+ Object.defineProperty(this, "_clusters", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: []
35
+ });
36
+ Object.defineProperty(this, "clusteredDataItems", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: []
41
+ });
42
+ }
43
+ _afterNew() {
44
+ this.fields.push("groupId");
45
+ this._setRawDefault("groupIdField", "groupId");
46
+ super._afterNew();
47
+ }
48
+ _updateChildren() {
49
+ super._updateChildren();
50
+ const groups = {};
51
+ // distribute to groups
52
+ $array.each(this.dataItems, (dataItem) => {
53
+ const groupId = dataItem.get("groupId", "_default");
54
+ if (!groups[groupId]) {
55
+ groups[groupId] = [];
56
+ }
57
+ groups[groupId].push(dataItem);
58
+ });
59
+ this._clusterIndex = -1;
60
+ this._clusters = [];
61
+ $array.each(this.clusteredDataItems, (dataItem) => {
62
+ dataItem.setRaw("children", undefined);
63
+ });
64
+ $array.each(this.dataItems, (dataItem) => {
65
+ dataItem.setRaw("cluster", undefined);
66
+ });
67
+ $object.each(groups, (_key, group) => {
68
+ this._clusterGroup(group);
69
+ });
70
+ $array.each(this.dataItems, (dataItem) => {
71
+ if (!dataItem.get("cluster")) {
72
+ const bullets = dataItem.bullets;
73
+ if (bullets) {
74
+ $array.each(bullets, (bullet) => {
75
+ const sprite = bullet.get("sprite");
76
+ if (sprite) {
77
+ sprite.set("forceHidden", false);
78
+ }
79
+ });
80
+ }
81
+ }
82
+ });
83
+ }
84
+ /**
85
+ * Zooms to the area so that all clustered data items of a cluster would be
86
+ * visible.
87
+ *
88
+ * Pass in `true` as a second parameter to rotate that map so that the group
89
+ * is in the center. This is especially useful in the maps that use
90
+ * Orthographic (globe) projection.
91
+ *
92
+ * @param dataItem Group data item
93
+ * @param rotate Rotate the map so that group is in the center?
94
+ * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Drill_down} for more info
95
+ */
96
+ zoomToCluster(dataItem, rotate) {
97
+ this.zoomToDataItems(dataItem.get("children", []), rotate);
98
+ }
99
+ _clusterGroup(dataItems) {
100
+ const chart = this.chart;
101
+ if (chart && chart.get("zoomLevel", 1) >= chart.get("maxZoomLevel", 100) * 0.95) {
102
+ // void
103
+ }
104
+ else {
105
+ while (dataItems.length > 0) {
106
+ this._clusterIndex++;
107
+ this._clusters[this._clusterIndex] = [];
108
+ const cluster = this._clusters[this._clusterIndex];
109
+ const dataItem = dataItems[0];
110
+ cluster.push(dataItem);
111
+ $array.remove(dataItems, dataItem);
112
+ this._clusterDataItem(dataItem, dataItems);
113
+ }
114
+ }
115
+ let i = 0;
116
+ $array.each(this._clusters, (cluster) => {
117
+ let sumX = 0;
118
+ let sumY = 0;
119
+ let len = cluster.length;
120
+ if (len > 1) {
121
+ let clusteredDataItem = this.clusteredDataItems[i];
122
+ if (!clusteredDataItem) {
123
+ clusteredDataItem = new DataItem(this, undefined, {});
124
+ const bulletMethod = this.get("clusteredBullet");
125
+ if (bulletMethod) {
126
+ const bullet = clusteredDataItem.set("bullet", bulletMethod(this._root, this, clusteredDataItem));
127
+ if (bullet) {
128
+ const sprite = bullet.get("sprite");
129
+ if (sprite) {
130
+ this.bulletsContainer.children.push(sprite);
131
+ sprite._setDataItem(clusteredDataItem);
132
+ }
133
+ }
134
+ }
135
+ this.clusteredDataItems.push(clusteredDataItem);
136
+ }
137
+ $array.each(cluster, (dataItem) => {
138
+ dataItem.setRaw("cluster", clusteredDataItem);
139
+ const point = dataItem.get("point");
140
+ if (point) {
141
+ sumX += point.x;
142
+ sumY += point.y;
143
+ }
144
+ const bullets = dataItem.bullets;
145
+ if (bullets) {
146
+ $array.each(bullets, (bullet) => {
147
+ const sprite = bullet.get("sprite");
148
+ if (sprite) {
149
+ sprite.set("forceHidden", true);
150
+ }
151
+ });
152
+ }
153
+ });
154
+ let averageX = sumX / len;
155
+ let averageY = sumY / len;
156
+ clusteredDataItem.setRaw("children", cluster);
157
+ const prevLen = clusteredDataItem.get("value");
158
+ clusteredDataItem.setRaw("value", len);
159
+ const bullet = clusteredDataItem.get("bullet");
160
+ if (bullet) {
161
+ const sprite = bullet.get("sprite");
162
+ if (sprite) {
163
+ sprite.set("forceHidden", false);
164
+ sprite.setAll({ x: averageX, y: averageY });
165
+ if (prevLen != len) {
166
+ if (sprite instanceof Container) {
167
+ sprite.walkChildren((child) => {
168
+ if (child instanceof Label) {
169
+ child.text.markDirtyText();
170
+ }
171
+ });
172
+ }
173
+ }
174
+ }
175
+ }
176
+ i++;
177
+ }
178
+ });
179
+ $array.each(this.clusteredDataItems, (dataItem) => {
180
+ let children = dataItem.get("children");
181
+ if (!children || children.length == 0) {
182
+ const bullet = dataItem.get("bullet");
183
+ if (bullet) {
184
+ const sprite = bullet.get("sprite");
185
+ if (sprite) {
186
+ sprite.set("forceHidden", true);
187
+ }
188
+ }
189
+ }
190
+ });
191
+ }
192
+ _clusterDataItem(dataItem, dataItems) {
193
+ const point = dataItem.get("point");
194
+ if (point) {
195
+ $array.each(dataItems, (di) => {
196
+ if (di && !di.get("clipped")) {
197
+ const diPoint = di.get("point");
198
+ if (diPoint) {
199
+ if (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get("minDistance", 20)) {
200
+ const cluster = this._clusters[this._clusterIndex];
201
+ cluster.push(di);
202
+ $array.remove(dataItems, di);
203
+ this._clusterDataItem(di, dataItems);
204
+ }
205
+ }
206
+ }
207
+ });
208
+ }
209
+ }
210
+ }
211
+ Object.defineProperty(ClusteredPointSeries, "className", {
212
+ enumerable: true,
213
+ configurable: true,
214
+ writable: true,
215
+ value: "ClusteredPointSeries"
216
+ });
217
+ Object.defineProperty(ClusteredPointSeries, "classNames", {
218
+ enumerable: true,
219
+ configurable: true,
220
+ writable: true,
221
+ value: MapPointSeries.classNames.concat([ClusteredPointSeries.className])
222
+ });
223
+ //# sourceMappingURL=ClusteredPointSeries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusteredPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/ClusteredPointSeries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA4E,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,QAAQ,EAAsB,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AA+DlD;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IAAxD;;QASC;;;;mBAA2D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;WAAC;QACjF;;;;mBAAkC,CAAC;WAAC;QACpC;;;;mBAAyE,EAAE;WAAC;QAE5E;;;;mBAAiE,EAAE;WAAC;IAwMrE,CAAC;IAtMU,SAAS;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAE/C,KAAK,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,MAAM,GAAwE,EAAE,CAAC;QACvF,uBAAuB;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACrB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;aACrB;YACD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjD,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvC,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACjC,IAAI,OAAO,EAAE;oBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;wBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBACpC,IAAI,MAAM,EAAE;4BACX,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;yBACjC;oBACF,CAAC,CAAC,CAAA;iBACF;aACD;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,QAAsC,EAAE,MAAgB;QAC5E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAES,aAAa,CAAC,SAAyD;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;YAChF,OAAO;SACP;aACI;YACJ,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE9B,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAEnC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC3C;SACD;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,IAAI,GAAG,CAAC,CAAC;YAEb,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;YAEzB,IAAI,GAAG,GAAG,CAAC,EAAE;gBAEZ,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,iBAAiB,EAAE;oBACvB,iBAAiB,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;oBAEtD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACjD,IAAI,YAAY,EAAE;wBACjB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAe,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC;wBAEzG,IAAI,MAAM,EAAE;4BACX,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpC,IAAI,MAAM,EAAE;gCACX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAC5C,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;6BACvC;yBACD;qBACD;oBAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;iBAC/C;gBAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;oBACjC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;oBAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,KAAK,EAAE;wBACV,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;wBAChB,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;qBAChB;oBAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACjC,IAAI,OAAO,EAAE;wBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;4BAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACpC,IAAI,MAAM,EAAE;gCACX,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;6BAChC;wBACF,CAAC,CAAC,CAAA;qBACF;gBACF,CAAC,CAAC,CAAA;gBAEF,IAAI,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;gBAC1B,IAAI,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC;gBAE1B,iBAAiB,CAAC,MAAM,CAAC,UAAiB,EAAE,OAAO,CAAC,CAAC;gBAErD,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAc,CAAC,CAAC;gBACtD,iBAAiB,CAAC,MAAM,CAAC,OAAc,EAAE,GAAG,CAAC,CAAC;gBAE9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAe,CAAC,CAAC;gBACtD,IAAI,MAAM,EAAE;oBACX,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAI,MAAM,EAAE;wBACX,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;wBACjC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAE5C,IAAI,OAAO,IAAI,GAAG,EAAE;4BACnB,IAAI,MAAM,YAAY,SAAS,EAAE;gCAChC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;oCAC7B,IAAI,KAAK,YAAY,KAAK,EAAE;wCAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;qCAC3B;gCACF,CAAC,CAAC,CAAA;6BACF;yBACD;qBACD;iBACD;gBACD,CAAC,EAAE,CAAC;aACJ;QACF,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjD,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;gBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAe,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE;oBACX,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACpC,IAAI,MAAM,EAAE;wBACX,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;qBAChC;iBACD;aACD;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAES,gBAAgB,CAAC,QAAiD,EAAE,SAAyD;QACtI,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;gBAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC7B,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChC,IAAI,OAAO,EAAE;wBACZ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;4BACvF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BACnD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACjB,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;4BAC7B,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;yBACrC;qBACD;iBACD;YACF,CAAC,CAAC,CAAA;SACF;IACF,CAAC;;AAlND;;;;WAAkC,sBAAsB;GAAC;AACzD;;;;WAA0C,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import { MapPointSeries, IMapPointSeriesSettings, IMapPointSeriesPrivate, IMapPointSeriesDataItem } from \"./MapPointSeries\";\r\nimport { DataItem, IComponentDataItem } from \"../../core/render/Component\";\r\nimport type { Root } from \"../../core/Root\";\r\nimport type { Bullet } from \"../../core/render/Bullet\";\r\nimport { Container } from \"../../core/render/Container\";\r\nimport { Label } from \"../../core/render/Label\";\r\n\r\nimport * as $array from \"../../core/util/Array\";\r\nimport * as $object from \"../../core/util/Object\";\r\n\r\n\r\nexport interface IClusteredDataItem extends IComponentDataItem {\r\n\t/**\r\n\t * All the data items of this cluster\r\n\t */\r\n\tchildren?: Array<DataItem<IMapPointSeriesDataItem>>;\r\n\r\n\t/**\r\n\t * Bullet of clustered data item\r\n\t */\r\n\tbullet?: Bullet;\r\n}\r\n\r\nexport interface IClusteredPointSeriesDataItem extends IMapPointSeriesDataItem {\r\n\t/**\r\n\t * An ID of a bullet's group.\r\n\t */\r\n\tgroupId?: string\r\n\r\n\t/**\r\n\t * Clustered data item (if available)\r\n\t * @readonly\r\n\t */\r\n\tcluster?: DataItem<IClusteredDataItem>;\r\n}\r\n\r\nexport interface IClusteredPointSeriesPrivate extends IMapPointSeriesPrivate {\r\n\r\n}\r\n\r\nexport interface IClusteredPointSeriesSettings extends IMapPointSeriesSettings {\r\n\t/**\r\n\t * Series data can contain a field with an ID of a virtual group the bullet\r\n\t * belongs to.\r\n\t *\r\n\t * For example, we migth want bullets to group with other bullets from the\r\n\t * same continent.\r\n\t *\r\n\t * `groupIdField` specifies which field in source data holds group IDs.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_segregation} for more info\r\n\t * @default groupID\r\n\t */\r\n\tgroupIdField?: string;\r\n\r\n\t/**\r\n\t * Bullets that are closer than X pixels apart, will be automatically grouped.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Minimal_distance} for more info\r\n\t * @default 20\r\n\t */\r\n\tminDistance?: number;\r\n\r\n\t/**\r\n\t * Set this to a [[Bullet]] instance which will be used to show groups.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Group_bullet} for more info\r\n\t */\r\n\tclusteredBullet?: (root: Root, series: ClusteredPointSeries, dataItem: DataItem<IClusteredPointSeriesDataItem>) => Bullet | undefined;\r\n}\r\n\r\n/**\r\n * A version of [[MapPointSeries]] which can automatically group closely located\r\n * bullets into groups.\r\n * \r\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/} for more info\r\n * @since 5.5.6\r\n * @important\r\n */\r\nexport class ClusteredPointSeries extends MapPointSeries {\r\n\r\n\tpublic static className: string = \"ClusteredPointSeries\";\r\n\tpublic static classNames: Array<string> = MapPointSeries.classNames.concat([ClusteredPointSeries.className]);\r\n\r\n\tdeclare public _settings: IClusteredPointSeriesSettings;\r\n\tdeclare public _privateSettings: IClusteredPointSeriesPrivate;\r\n\tdeclare public _dataItemSettings: IClusteredPointSeriesDataItem;\r\n\r\n\tprotected _dataItem: DataItem<this[\"_dataItemSettings\"]> = this.makeDataItem({});\r\n\tprotected _clusterIndex: number = 0;\r\n\tprotected _clusters: Array<Array<DataItem<this[\"_dataItemSettings\"]>>> = [];\r\n\r\n\tpublic clusteredDataItems: Array<DataItem<IClusteredDataItem>> = [];\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis.fields.push(\"groupId\");\r\n\t\tthis._setRawDefault(\"groupIdField\", \"groupId\");\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _updateChildren() {\r\n\t\tsuper._updateChildren();\r\n\r\n\t\tconst groups: { [index: string]: Array<DataItem<IClusteredPointSeriesDataItem>> } = {};\r\n\t\t// distribute to groups\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tconst groupId = dataItem.get(\"groupId\", \"_default\");\r\n\r\n\t\t\tif (!groups[groupId]) {\r\n\t\t\t\tgroups[groupId] = [];\r\n\t\t\t}\r\n\t\t\tgroups[groupId].push(dataItem);\r\n\t\t})\r\n\r\n\t\tthis._clusterIndex = -1;\r\n\t\tthis._clusters = [];\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"children\", undefined);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tdataItem.setRaw(\"cluster\", undefined);\r\n\t\t})\r\n\r\n\t\t$object.each(groups, (_key, group) => {\r\n\t\t\tthis._clusterGroup(group);\r\n\t\t})\r\n\r\n\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\tif (!dataItem.get(\"cluster\")) {\r\n\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\tif (bullets) {\r\n\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * Zooms to the area so that all clustered data items of a cluster would be\r\n\t * visible.\r\n\t *\r\n\t * Pass in `true` as a second parameter to rotate that map so that the group\r\n\t * is in the center. This is especially useful in the maps that use\r\n\t * Orthographic (globe) projection.\r\n\t *\r\n\t * @param dataItem Group data item\r\n\t * @param rotate Rotate the map so that group is in the center?\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/clustered-point-series/#Drill_down} for more info\r\n\t */\r\n\tpublic zoomToCluster(dataItem: DataItem<IClusteredDataItem>, rotate?: boolean) {\r\n\t\tthis.zoomToDataItems(dataItem.get(\"children\", []), rotate);\r\n\t}\r\n\r\n\tprotected _clusterGroup(dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst chart = this.chart;\r\n\t\tif (chart && chart.get(\"zoomLevel\", 1) >= chart.get(\"maxZoomLevel\", 100) * 0.95) {\r\n\t\t\t// void\r\n\t\t}\r\n\t\telse {\r\n\t\t\twhile (dataItems.length > 0) {\r\n\t\t\t\tthis._clusterIndex++;\r\n\t\t\t\tthis._clusters[this._clusterIndex] = [];\r\n\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\tconst dataItem = dataItems[0];\r\n\r\n\t\t\t\tcluster.push(dataItem);\r\n\t\t\t\t$array.remove(dataItems, dataItem);\r\n\r\n\t\t\t\tthis._clusterDataItem(dataItem, dataItems);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlet i = 0;\r\n\r\n\t\t$array.each(this._clusters, (cluster) => {\r\n\t\t\tlet sumX = 0;\r\n\t\t\tlet sumY = 0;\r\n\r\n\t\t\tlet len = cluster.length;\r\n\r\n\t\t\tif (len > 1) {\r\n\r\n\t\t\t\tlet clusteredDataItem = this.clusteredDataItems[i];\r\n\t\t\t\tif (!clusteredDataItem) {\r\n\t\t\t\t\tclusteredDataItem = new DataItem(this, undefined, {});\r\n\r\n\t\t\t\t\tconst bulletMethod = this.get(\"clusteredBullet\");\r\n\t\t\t\t\tif (bulletMethod) {\r\n\t\t\t\t\t\tconst bullet = clusteredDataItem.set(\"bullet\" as any, bulletMethod(this._root, this, clusteredDataItem));\r\n\r\n\t\t\t\t\t\tif (bullet) {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tthis.bulletsContainer.children.push(sprite);\r\n\t\t\t\t\t\t\t\tsprite._setDataItem(clusteredDataItem);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.clusteredDataItems.push(clusteredDataItem)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$array.each(cluster, (dataItem) => {\r\n\t\t\t\t\tdataItem.setRaw(\"cluster\", clusteredDataItem);\r\n\r\n\t\t\t\t\tconst point = dataItem.get(\"point\");\r\n\t\t\t\t\tif (point) {\r\n\t\t\t\t\t\tsumX += point.x;\r\n\t\t\t\t\t\tsumY += point.y;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst bullets = dataItem.bullets;\r\n\t\t\t\t\tif (bullets) {\r\n\t\t\t\t\t\t$array.each(bullets, (bullet) => {\r\n\t\t\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\r\n\t\t\t\tlet averageX = sumX / len;\r\n\t\t\t\tlet averageY = sumY / len;\r\n\r\n\t\t\t\tclusteredDataItem.setRaw(\"children\" as any, cluster);\r\n\r\n\t\t\t\tconst prevLen = clusteredDataItem.get(\"value\" as any);\r\n\t\t\t\tclusteredDataItem.setRaw(\"value\" as any, len);\r\n\r\n\t\t\t\tconst bullet = clusteredDataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", false);\r\n\t\t\t\t\t\tsprite.setAll({ x: averageX, y: averageY });\r\n\r\n\t\t\t\t\t\tif (prevLen != len) {\r\n\t\t\t\t\t\t\tif (sprite instanceof Container) {\r\n\t\t\t\t\t\t\t\tsprite.walkChildren((child) => {\r\n\t\t\t\t\t\t\t\t\tif (child instanceof Label) {\r\n\t\t\t\t\t\t\t\t\t\tchild.text.markDirtyText();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\ti++;\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\t$array.each(this.clusteredDataItems, (dataItem) => {\r\n\t\t\tlet children = dataItem.get(\"children\");\r\n\t\t\tif (!children || children.length == 0) {\r\n\t\t\t\tconst bullet = dataItem.get(\"bullet\" as any);\r\n\t\t\t\tif (bullet) {\r\n\t\t\t\t\tconst sprite = bullet.get(\"sprite\");\r\n\t\t\t\t\tif (sprite) {\r\n\t\t\t\t\t\tsprite.set(\"forceHidden\", true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tprotected _clusterDataItem(dataItem: DataItem<IClusteredPointSeriesDataItem>, dataItems: Array<DataItem<IClusteredPointSeriesDataItem>>) {\r\n\t\tconst point = dataItem.get(\"point\");\r\n\t\tif (point) {\r\n\t\t\t$array.each(dataItems, (di) => {\r\n\t\t\t\tif (di && !di.get(\"clipped\")) {\r\n\t\t\t\t\tconst diPoint = di.get(\"point\");\r\n\t\t\t\t\tif (diPoint) {\r\n\t\t\t\t\t\tif (Math.hypot(diPoint.x - point.x, diPoint.y - point.y) < this.get(\"minDistance\", 20)) {\r\n\t\t\t\t\t\t\tconst cluster = this._clusters[this._clusterIndex];\r\n\t\t\t\t\t\t\tcluster.push(di);\r\n\t\t\t\t\t\t\t$array.remove(dataItems, di);\r\n\t\t\t\t\t\t\tthis._clusterDataItem(di, dataItems);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n"]}
@@ -3,6 +3,7 @@ import type { IMapPolygonSeriesDataItem } from "./MapPolygonSeries";
3
3
  import type { Bullet } from "../../core/render/Bullet";
4
4
  import type { DataItem } from "../../core/render/Component";
5
5
  import { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from "./MapSeries";
6
+ import type { IPoint } from "../../core/util/IPoint";
6
7
  import type { Animation } from "../../core/util/Entity";
7
8
  import type { IDisposer } from "../../core/util/Disposer";
8
9
  export interface IMapPointSeriesPrivate extends IMapSeriesPrivate {
@@ -63,6 +64,14 @@ export interface IMapPointSeriesDataItem extends IMapSeriesDataItem {
63
64
  * @since 5.2.34
64
65
  */
65
66
  fixed?: boolean;
67
+ /**
68
+ * Point (in pixels) of a data item
69
+ */
70
+ point?: IPoint;
71
+ /**
72
+ * @ignore
73
+ */
74
+ clipped?: boolean;
66
75
  }
67
76
  export interface IMapPointSeriesSettings extends IMapSeriesSettings {
68
77
  /**
@@ -148,6 +157,15 @@ export declare class MapPointSeries extends MapSeries {
148
157
  * @param rotate If it's true, the map will rotate so that this point would be in the center. Mostly usefull with geoOrthographic projection.
149
158
  */
150
159
  zoomToDataItem(dataItem: DataItem<IMapPointSeriesDataItem>, zoomLevel: number, rotate?: boolean): Animation<any> | undefined;
160
+ /**
161
+ * Zooms the map in so that all points in the array are visible.
162
+ *
163
+ * @param dataItems An array of data items of points to zoom to
164
+ * @param rotate Rotate the map so it is centered on the selected items
165
+ * @return Animation
166
+ * @since 5.5.6
167
+ */
168
+ zoomToDataItems(dataItems: Array<DataItem<IMapPointSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined;
151
169
  /**
152
170
  * @ignore
153
171
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MapPointSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MapPointSeries.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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"}
@@ -219,7 +219,9 @@ export class MapPointSeries extends MapSeries {
219
219
  const dataItem = sprite.dataItem;
220
220
  const xy = projection(coordinates);
221
221
  if (xy) {
222
- sprite.setAll({ x: xy[0], y: xy[1] });
222
+ const point = { x: xy[0], y: xy[1] };
223
+ sprite.setAll(point);
224
+ dataItem.setRaw("point", point);
223
225
  }
224
226
  let visible = true;
225
227
  if (geoPath(geometry)) {
@@ -233,6 +235,7 @@ export class MapPointSeries extends MapSeries {
233
235
  }
234
236
  }
235
237
  sprite.setPrivate("visible", visible);
238
+ dataItem.set("clipped", !visible);
236
239
  if (dataItem && angle != null && dataItem.get("autoRotate", bullet.get("autoRotate"))) {
237
240
  sprite.set("rotation", angle + dataItem.get("autoRotateAngle", bullet.get("autoRotateAngle", 0)));
238
241
  }
@@ -257,6 +260,45 @@ export class MapPointSeries extends MapSeries {
257
260
  return chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true);
258
261
  }
259
262
  }
263
+ /**
264
+ * Zooms the map in so that all points in the array are visible.
265
+ *
266
+ * @param dataItems An array of data items of points to zoom to
267
+ * @param rotate Rotate the map so it is centered on the selected items
268
+ * @return Animation
269
+ * @since 5.5.6
270
+ */
271
+ zoomToDataItems(dataItems, rotate) {
272
+ let left = null;
273
+ let right = null;
274
+ let top = null;
275
+ let bottom = null;
276
+ $array.each(dataItems, (dataItem) => {
277
+ const longitude = dataItem.get("longitude", 0);
278
+ const latitude = dataItem.get("latitude", 0);
279
+ if (left == null || left > longitude) {
280
+ left = longitude;
281
+ }
282
+ if (right == null || right < longitude) {
283
+ right = longitude;
284
+ }
285
+ if (top == null || top < latitude) {
286
+ top = latitude;
287
+ }
288
+ if (bottom == null || bottom > latitude) {
289
+ bottom = latitude;
290
+ }
291
+ });
292
+ if (left != null && right != null && top != null && bottom != null) {
293
+ const chart = this.chart;
294
+ if (chart) {
295
+ if (rotate) {
296
+ return chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -(left + (right - left) / 2), -(top + (top - bottom) / 2));
297
+ }
298
+ return chart.zoomToGeoBounds({ left, right, top, bottom });
299
+ }
300
+ }
301
+ }
260
302
  /**
261
303
  * @ignore
262
304
  */
@@ -1 +1 @@
1
- {"version":3,"file":"MapPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMapLineSeriesDataItem, MapLineSeries } from \"./MapLineSeries\";\nimport type { IMapPolygonSeriesDataItem, MapPolygonSeries } from \"./MapPolygonSeries\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { MapLine } from \"./MapLine\";\nimport type { MapPolygon } from \"./MapPolygon\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\n\nexport interface IMapPointSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPointSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * GeoJSON geometry of the point.\n\t */\n\tgeometry?: GeoJSON.Point | GeoJSON.MultiPoint;\n\n\t/**\n\t * Longitude.\n\t */\n\tlongitude?: number;\n\n\t/**\n\t * Latitude.\n\t */\n\tlatitude?: number;\n\n\t/**\n\t * Relative position (0-1) on the [[MapLine]] to place point on.\n\t */\n\tpositionOnLine?: number;\n\n\t/**\n\t * Automatically rotate the point bullet to face the direction of the line\n\t * it is attached to.\n\t */\n\tautoRotate?: boolean;\n\n\t/**\n\t * The angle will be added to the automatically-calculated angle.\n\t *\n\t * Can be used to reverse the direction.\n\t */\n\tautoRotateAngle?: number;\n\n\t/**\n\t * A data item from a [[MapLineSeries]] the point is attached to.\n\t */\n\tlineDataItem?: DataItem<IMapLineSeriesDataItem>;\n\n\t/**\n\t * An ID of a [[MapLine]] the point is attached to.\n\t */\n\tlineId?: string;\n\n\t/**\n\t * A data item from a [[MapPolygonSeries]] to use for positioning of the\n\t * point.\n\t */\n\tpolygonDataItem?: DataItem<IMapPolygonSeriesDataItem>;\n\n\t/**\n\t * An ID of the [[MapPolygon]] to use for centering the point.\n\t */\n\tpolygonId?: string;\n\n\t/**\n\t * If set to `true`, the point will be drawn according to its `x` and `y`\n\t * coordinates, not its latitude and longitude.\n\t * \n\t * Fixed points will not move together with map, and can not be used to\n\t * connect points on a `MapLineSeries`.\n\t * \n\t * @default false\n\t * @since 5.2.34\n\t */\n\tfixed?: boolean;\n\n}\n\nexport interface IMapPointSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * A field in data that holds an ID of the related polygon.\n\t *\n\t * If set, the point will be positioned in the visual center of the target\n\t * polygon.\n\t */\n\tpolygonIdField?: string;\n\n\t/**\n\t * If set to `true` will hide all points that are in the visible range of\n\t * the map.\n\t */\n\tclipFront?: boolean;\n\n\t/**\n\t * If set to `true` will hide all points that are in the invisible range of\n\t * the map.\n\t *\n\t * For example on the side of the globe facing away from the viewer when\n\t * used with Orthographic projection.\n\t *\n\t * NOTE: not all projections have invisible side.\n\t *\n\t * @default true\n\t */\n\tclipBack?: boolean;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlatitudeField?: string;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlongitudeField?: string;\n\n\t/**\n\t * A field in data that holds information if this point is fixed or moves with a map.\n\t */\n\tfixedField?: string;\n\n\t/**\n\t * If set to `true`, bullets will resize when zooming the [[MapChart]].\n\t * \n\t * @since 5.2.8\n\t * @default false\n\t */\n\tautoScale?: boolean\n\n};\n\n/**\n * Creates a map series for displaying markers on the map.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-point-series/} for more info\n * @important\n */\nexport class MapPointSeries extends MapSeries {\n\n\tpublic static className: string = \"MapPointSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPointSeries.className]);\n\n\tdeclare public _settings: IMapPointSeriesSettings;\n\tdeclare public _privateSettings: IMapPointSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPointSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Point\", \"MultiPoint\"];\n\n\tprotected _lineChangedDp?: IDisposer;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"polygonId\", \"lineId\", \"longitude\", \"latitude\", \"fixed\");\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\n\t\tif (dataItem) {\n\t\t\tthis._positionBullets(dataItem);\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tlet geometry = dataItem.get(\"geometry\");\n\t\tif (!geometry) {\n\t\t\tgeometry = { type: \"Point\", coordinates: [dataItem.get(\"longitude\", 0), dataItem.get(\"latitude\", 0)] };\n\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t}\n\t\telse {\n\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates && coordinates[0]) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0][0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[0][1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._addGeometry(geometry, this);\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.bullets = [];\n\n\t\tthis.bullets.each((bulletFunction) => {\n\t\t\tconst geometry = dataItem.get(\"geometry\");\n\n\t\t\tif (geometry) {\n\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction));\n\t\t\t\t}\n\t\t\t\telse if (geometry.type = \"MultiPoint\") {\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\t$array.each(geometry.coordinates, () => {\n\t\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction, i));\n\t\t\t\t\t\ti++;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _setBulletParent(bullet?: Bullet) {\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst chart = this.chart;\n\t\t\tif (sprite && chart) {\n\t\t\t\tconst dataItem = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tif (dataItem.get(\"fixed\")) {\n\t\t\t\t\t\tif (sprite.parent != chart.bulletsContainer) {\n\t\t\t\t\t\t\tchart.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sprite.parent != this.bulletsContainer) {\n\t\t\t\t\t\t\tthis.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem && dataItem.get(\"fixed\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst latitude = dataItem.get(\"latitude\");\n\t\t\tconst longitude = dataItem.get(\"longitude\");\n\t\t\tconst lineDataItem = dataItem.get(\"lineDataItem\");\n\t\t\tconst fixed = dataItem.get(\"fixed\");\n\t\t\tconst chart = this.chart;\n\t\t\tlet line: MapLine | undefined;\n\t\t\tif (lineDataItem) {\n\t\t\t\tline = lineDataItem.get(\"mapLine\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst lineId = dataItem.get(\"lineId\");\n\n\t\t\t\tif (lineId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t\t\tlet lineDI = series.getDataItemById(lineId);\n\t\t\t\t\t\t\tif (lineDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"lineDataItem\", lineDI);\n\t\t\t\t\t\t\t\tline = lineDI.get(\"mapLine\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._lineChangedDp) {\n\t\t\t\tthis._lineChangedDp.dispose();\n\t\t\t}\n\n\t\t\tif (line) {\n\t\t\t\tthis._lineChangedDp = line.events.on(\"linechanged\", () => {\n\t\t\t\t\tthis._positionBullets(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst polygonDataItem = dataItem.get(\"polygonDataItem\");\n\t\t\tlet polygon: MapPolygon | undefined;\n\t\t\tif (polygonDataItem) {\n\t\t\t\tpolygon = polygonDataItem.get(\"mapPolygon\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst polygonId = dataItem.get(\"polygonId\");\n\n\t\t\t\tif (polygonId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapPolygonSeries>(\"MapPolygonSeries\")) {\n\t\t\t\t\t\t\tlet polygonDI = series.getDataItemById(polygonId);\n\t\t\t\t\t\t\tif (polygonDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"polygonDataItem\", polygonDI);\n\t\t\t\t\t\t\t\tpolygon = polygonDI.get(\"mapPolygon\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst positionOnLine = dataItem.get(\"positionOnLine\");\n\t\t\tlet coordinates: [number, number] | undefined;\n\n\t\t\tlet angle: number | undefined;\n\n\t\t\tif (polygon) {\n\t\t\t\tlet geoPoint = polygon.visualCentroid();\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if (line && $type.isNumber(positionOnLine)) {\n\t\t\t\tlet geoPoint = line.positionToGeoPoint(positionOnLine);\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\n\t\t\t\tif (dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\")) && chart) {\n\t\t\t\t\tconst geoPoint0 = line.positionToGeoPoint(positionOnLine - 0.002);\n\t\t\t\t\tconst geoPoint1 = line.positionToGeoPoint(positionOnLine + 0.002);\n\n\t\t\t\t\tconst point0 = chart.convert(geoPoint0);\n\t\t\t\t\tconst point1 = chart.convert(geoPoint1);\n\n\t\t\t\t\t//dataItem.set(\"autoRotateAngle\", $math.getAngle(point0, point1));\n\t\t\t\t\tangle = $math.getAngle(point0, point1);\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if ($type.isNumber(longitude) && $type.isNumber(latitude)) {\n\t\t\t\tcoordinates = [longitude, latitude];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst geometry = dataItem.get(\"geometry\")!;\n\t\t\t\tif (geometry) {\n\t\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\t\tthis._positionBulletReal(bullet, geometry, geometry.coordinates as [number, number], angle);\n\t\t\t\t\t}\n\t\t\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\t\t\tlet index = bullet._index || 0;\n\t\t\t\t\t\tcoordinates = geometry.coordinates[index] as [number, number];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!fixed && coordinates) {\n\t\t\t\tthis._positionBulletReal(bullet, { type: \"Point\", coordinates: coordinates }, coordinates, angle);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _positionBulletReal(bullet: Bullet, geometry: GeoJSON.Geometry, coordinates: [number, number], angle?: number) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst projection = chart.get(\"projection\")!;\n\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\tconst dataItem: DataItem<IMapPointSeriesDataItem> = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\n\t\t\tconst xy = projection(coordinates as any);\n\n\t\t\tif (xy) {\n\t\t\t\tsprite.setAll({ x: xy[0], y: xy[1] });\n\t\t\t}\n\n\t\t\tlet visible = true;\n\t\t\tif (geoPath(geometry)) {\n\t\t\t\tif (this.get(\"clipFront\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this.get(\"clipBack\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsprite.setPrivate(\"visible\", visible);\n\n\t\t\tif (dataItem && angle != null && dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\"))) {\n\t\t\t\tsprite.set(\"rotation\", angle + dataItem.get(\"autoRotateAngle\", bullet.get(\"autoRotateAngle\", 0)));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers the map to specific series' data item and zooms to the level\n\t * specified in the parameters.\n\t *\n\t * @param dataItem Map point\n\t * @param zoomLevel Zoom level\n\t * @param rotate If it's true, the map will rotate so that this point would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPointSeriesDataItem>, zoomLevel: number, rotate?: boolean): Animation<any> | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\t\t\tif (rotate) {\n\t\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true, undefined, -longitude, -latitude);\n\t\t\t}\n\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true);\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.each((series) => {\n\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t$array.each(series.dataItems, (di) => {\n\t\t\t\t\t\tconst pointsToConnect = di.get(\"pointsToConnect\");\n\t\t\t\t\t\tif (pointsToConnect) {\n\t\t\t\t\t\t\t$array.each(pointsToConnect, (point) => {\n\t\t\t\t\t\t\t\tif (point == dataItem) {\n\t\t\t\t\t\t\t\t\t$array.remove(pointsToConnect, point);\n\t\t\t\t\t\t\t\t\tseries.markDirtyValues(di);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tsuper.disposeDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"MapPointSeries.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/map/MapPointSeries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IMapLineSeriesDataItem, MapLineSeries } from \"./MapLineSeries\";\nimport type { IMapPolygonSeriesDataItem, MapPolygonSeries } from \"./MapPolygonSeries\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { MapLine } from \"./MapLine\";\nimport type { MapPolygon } from \"./MapPolygon\";\n\nimport { MapSeries, IMapSeriesSettings, IMapSeriesDataItem, IMapSeriesPrivate } from \"./MapSeries\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport type { Animation } from \"../../core/util/Entity\";\nimport type { IDisposer } from \"../../core/util/Disposer\";\n\nexport interface IMapPointSeriesPrivate extends IMapSeriesPrivate {\n}\n\nexport interface IMapPointSeriesDataItem extends IMapSeriesDataItem {\n\n\t/**\n\t * GeoJSON geometry of the point.\n\t */\n\tgeometry?: GeoJSON.Point | GeoJSON.MultiPoint;\n\n\t/**\n\t * Longitude.\n\t */\n\tlongitude?: number;\n\n\t/**\n\t * Latitude.\n\t */\n\tlatitude?: number;\n\n\t/**\n\t * Relative position (0-1) on the [[MapLine]] to place point on.\n\t */\n\tpositionOnLine?: number;\n\n\t/**\n\t * Automatically rotate the point bullet to face the direction of the line\n\t * it is attached to.\n\t */\n\tautoRotate?: boolean;\n\n\t/**\n\t * The angle will be added to the automatically-calculated angle.\n\t *\n\t * Can be used to reverse the direction.\n\t */\n\tautoRotateAngle?: number;\n\n\t/**\n\t * A data item from a [[MapLineSeries]] the point is attached to.\n\t */\n\tlineDataItem?: DataItem<IMapLineSeriesDataItem>;\n\n\t/**\n\t * An ID of a [[MapLine]] the point is attached to.\n\t */\n\tlineId?: string;\n\n\t/**\n\t * A data item from a [[MapPolygonSeries]] to use for positioning of the\n\t * point.\n\t */\n\tpolygonDataItem?: DataItem<IMapPolygonSeriesDataItem>;\n\n\t/**\n\t * An ID of the [[MapPolygon]] to use for centering the point.\n\t */\n\tpolygonId?: string;\n\n\t/**\n\t * If set to `true`, the point will be drawn according to its `x` and `y`\n\t * coordinates, not its latitude and longitude.\n\t * \n\t * Fixed points will not move together with map, and can not be used to\n\t * connect points on a `MapLineSeries`.\n\t * \n\t * @default false\n\t * @since 5.2.34\n\t */\n\tfixed?: boolean;\n\n\t/**\n\t * Point (in pixels) of a data item\n\t */\n\tpoint?: IPoint;\n\n\t/**\n\t * @ignore\n\t */\n\tclipped?: boolean;\n}\n\nexport interface IMapPointSeriesSettings extends IMapSeriesSettings {\n\n\t/**\n\t * A field in data that holds an ID of the related polygon.\n\t *\n\t * If set, the point will be positioned in the visual center of the target\n\t * polygon.\n\t */\n\tpolygonIdField?: string;\n\n\t/**\n\t * If set to `true` will hide all points that are in the visible range of\n\t * the map.\n\t */\n\tclipFront?: boolean;\n\n\t/**\n\t * If set to `true` will hide all points that are in the invisible range of\n\t * the map.\n\t *\n\t * For example on the side of the globe facing away from the viewer when\n\t * used with Orthographic projection.\n\t *\n\t * NOTE: not all projections have invisible side.\n\t *\n\t * @default true\n\t */\n\tclipBack?: boolean;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlatitudeField?: string;\n\n\t/**\n\t * A field in data that holds point's longitude.\n\t */\n\tlongitudeField?: string;\n\n\t/**\n\t * A field in data that holds information if this point is fixed or moves with a map.\n\t */\n\tfixedField?: string;\n\n\t/**\n\t * If set to `true`, bullets will resize when zooming the [[MapChart]].\n\t * \n\t * @since 5.2.8\n\t * @default false\n\t */\n\tautoScale?: boolean\n\n};\n\n/**\n * Creates a map series for displaying markers on the map.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/map-chart/map-point-series/} for more info\n * @important\n */\nexport class MapPointSeries extends MapSeries {\n\n\tpublic static className: string = \"MapPointSeries\";\n\tpublic static classNames: Array<string> = MapSeries.classNames.concat([MapPointSeries.className]);\n\n\tdeclare public _settings: IMapPointSeriesSettings;\n\tdeclare public _privateSettings: IMapPointSeriesPrivate;\n\tdeclare public _dataItemSettings: IMapPointSeriesDataItem;\n\n\tprotected _types: Array<GeoJSON.GeoJsonGeometryTypes> = [\"Point\", \"MultiPoint\"];\n\n\tprotected _lineChangedDp?: IDisposer;\n\n\tprotected _afterNew() {\n\t\tthis.fields.push(\"polygonId\", \"lineId\", \"longitude\", \"latitude\", \"fixed\");\n\t\tsuper._afterNew();\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic markDirtyProjection() {\n\t\tthis.markDirty();\n\t}\n\n\t/**\n\t * Forces a repaint of the element which relies on data.\n\t *\n\t * @since 5.0.21\n\t */\n\tpublic markDirtyValues(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.markDirtyValues();\n\n\t\tif (dataItem) {\n\t\t\tthis._positionBullets(dataItem);\n\t\t}\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\t\tlet geometry = dataItem.get(\"geometry\");\n\t\tif (!geometry) {\n\t\t\tgeometry = { type: \"Point\", coordinates: [dataItem.get(\"longitude\", 0), dataItem.get(\"latitude\", 0)] };\n\t\t\tdataItem.set(\"geometry\", geometry);\n\t\t}\n\t\telse {\n\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\tconst coordinates = geometry.coordinates;\n\t\t\t\tif (coordinates && coordinates[0]) {\n\t\t\t\t\tdataItem.set(\"longitude\", coordinates[0][0]);\n\t\t\t\t\tdataItem.set(\"latitude\", coordinates[0][1]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._addGeometry(geometry, this);\n\t}\n\n\tprotected _makeBullets(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tdataItem.bullets = [];\n\n\t\tthis.bullets.each((bulletFunction) => {\n\t\t\tconst geometry = dataItem.get(\"geometry\");\n\n\t\t\tif (geometry) {\n\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction));\n\t\t\t\t}\n\t\t\t\telse if (geometry.type = \"MultiPoint\") {\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\t$array.each(geometry.coordinates, () => {\n\t\t\t\t\t\tthis._setBulletParent(this._makeBullet(dataItem, bulletFunction, i));\n\t\t\t\t\t\ti++;\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _setBulletParent(bullet?: Bullet) {\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst chart = this.chart;\n\t\t\tif (sprite && chart) {\n\t\t\t\tconst dataItem = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\t\t\t\tif (dataItem) {\n\t\t\t\t\tif (dataItem.get(\"fixed\")) {\n\t\t\t\t\t\tif (sprite.parent != chart.bulletsContainer) {\n\t\t\t\t\t\t\tchart.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sprite.parent != this.bulletsContainer) {\n\t\t\t\t\t\t\tthis.bulletsContainer.children.moveValue(sprite);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tif (dataItem && dataItem.get(\"fixed\")) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst latitude = dataItem.get(\"latitude\");\n\t\t\tconst longitude = dataItem.get(\"longitude\");\n\t\t\tconst lineDataItem = dataItem.get(\"lineDataItem\");\n\t\t\tconst fixed = dataItem.get(\"fixed\");\n\t\t\tconst chart = this.chart;\n\t\t\tlet line: MapLine | undefined;\n\t\t\tif (lineDataItem) {\n\t\t\t\tline = lineDataItem.get(\"mapLine\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst lineId = dataItem.get(\"lineId\");\n\n\t\t\t\tif (lineId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t\t\tlet lineDI = series.getDataItemById(lineId);\n\t\t\t\t\t\t\tif (lineDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"lineDataItem\", lineDI);\n\t\t\t\t\t\t\t\tline = lineDI.get(\"mapLine\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this._lineChangedDp) {\n\t\t\t\tthis._lineChangedDp.dispose();\n\t\t\t}\n\n\t\t\tif (line) {\n\t\t\t\tthis._lineChangedDp = line.events.on(\"linechanged\", () => {\n\t\t\t\t\tthis._positionBullets(dataItem);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst polygonDataItem = dataItem.get(\"polygonDataItem\");\n\t\t\tlet polygon: MapPolygon | undefined;\n\t\t\tif (polygonDataItem) {\n\t\t\t\tpolygon = polygonDataItem.get(\"mapPolygon\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst polygonId = dataItem.get(\"polygonId\");\n\n\t\t\t\tif (polygonId && chart) {\n\t\t\t\t\tchart.series.each((series) => {\n\t\t\t\t\t\tif (series.isType<MapPolygonSeries>(\"MapPolygonSeries\")) {\n\t\t\t\t\t\t\tlet polygonDI = series.getDataItemById(polygonId);\n\t\t\t\t\t\t\tif (polygonDI) {\n\t\t\t\t\t\t\t\tdataItem.set(\"polygonDataItem\", polygonDI);\n\t\t\t\t\t\t\t\tpolygon = polygonDI.get(\"mapPolygon\");\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst positionOnLine = dataItem.get(\"positionOnLine\");\n\t\t\tlet coordinates: [number, number] | undefined;\n\n\t\t\tlet angle: number | undefined;\n\n\t\t\tif (polygon) {\n\t\t\t\tlet geoPoint = polygon.visualCentroid();\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if (line && $type.isNumber(positionOnLine)) {\n\t\t\t\tlet geoPoint = line.positionToGeoPoint(positionOnLine);\n\t\t\t\tcoordinates = [geoPoint.longitude, geoPoint.latitude];\n\n\t\t\t\tif (dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\")) && chart) {\n\t\t\t\t\tconst geoPoint0 = line.positionToGeoPoint(positionOnLine - 0.002);\n\t\t\t\t\tconst geoPoint1 = line.positionToGeoPoint(positionOnLine + 0.002);\n\n\t\t\t\t\tconst point0 = chart.convert(geoPoint0);\n\t\t\t\t\tconst point1 = chart.convert(geoPoint1);\n\n\t\t\t\t\t//dataItem.set(\"autoRotateAngle\", $math.getAngle(point0, point1));\n\t\t\t\t\tangle = $math.getAngle(point0, point1);\n\t\t\t\t}\n\n\t\t\t\tdataItem.setRaw(\"longitude\", geoPoint.longitude);\n\t\t\t\tdataItem.setRaw(\"latitude\", geoPoint.latitude);\n\t\t\t}\n\t\t\telse if ($type.isNumber(longitude) && $type.isNumber(latitude)) {\n\t\t\t\tcoordinates = [longitude, latitude];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst geometry = dataItem.get(\"geometry\")!;\n\t\t\t\tif (geometry) {\n\t\t\t\t\tif (geometry.type == \"Point\") {\n\t\t\t\t\t\tthis._positionBulletReal(bullet, geometry, geometry.coordinates as [number, number], angle);\n\t\t\t\t\t}\n\t\t\t\t\telse if (geometry.type == \"MultiPoint\") {\n\t\t\t\t\t\tlet index = bullet._index || 0;\n\t\t\t\t\t\tcoordinates = geometry.coordinates[index] as [number, number];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!fixed && coordinates) {\n\t\t\t\tthis._positionBulletReal(bullet, { type: \"Point\", coordinates: coordinates }, coordinates, angle);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _positionBulletReal(bullet: Bullet, geometry: GeoJSON.Geometry, coordinates: [number, number], angle?: number) {\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst projection = chart.get(\"projection\")!;\n\t\t\tconst geoPath = chart.getPrivate(\"geoPath\");\n\t\t\tconst dataItem: DataItem<IMapPointSeriesDataItem> = sprite.dataItem as DataItem<IMapPointSeriesDataItem>;\n\n\t\t\tconst xy = projection(coordinates as any);\n\n\t\t\tif (xy) {\n\t\t\t\tconst point = { x: xy[0], y: xy[1] };\n\t\t\t\tsprite.setAll(point);\n\t\t\t\tdataItem.setRaw(\"point\", point);\n\t\t\t}\n\n\t\t\tlet visible = true;\n\t\t\tif (geoPath(geometry)) {\n\t\t\t\tif (this.get(\"clipFront\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this.get(\"clipBack\")) {\n\t\t\t\t\tvisible = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsprite.setPrivate(\"visible\", visible);\n\t\t\tdataItem.set(\"clipped\", !visible);\n\n\t\t\tif (dataItem && angle != null && dataItem.get(\"autoRotate\", bullet.get(\"autoRotate\"))) {\n\t\t\t\tsprite.set(\"rotation\", angle + dataItem.get(\"autoRotateAngle\", bullet.get(\"autoRotateAngle\", 0)));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Centers the map to specific series' data item and zooms to the level\n\t * specified in the parameters.\n\t *\n\t * @param dataItem Map point\n\t * @param zoomLevel Zoom level\n\t * @param rotate If it's true, the map will rotate so that this point would be in the center. Mostly usefull with geoOrthographic projection.\n\t */\n\tpublic zoomToDataItem(dataItem: DataItem<IMapPointSeriesDataItem>, zoomLevel: number, rotate?: boolean): Animation<any> | undefined {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\t\t\tif (rotate) {\n\t\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true, undefined, -longitude, -latitude);\n\t\t\t}\n\t\t\treturn chart.zoomToGeoPoint({ longitude: longitude, latitude: latitude }, zoomLevel, true);\n\t\t}\n\t}\n\n\n\t/**\n\t * Zooms the map in so that all points in the array are visible.\n\t *\n\t * @param dataItems An array of data items of points to zoom to\n\t * @param rotate Rotate the map so it is centered on the selected items\n\t * @return Animation\n\t * @since 5.5.6\n\t */\n\tzoomToDataItems(dataItems: Array<DataItem<IMapPointSeriesDataItem>>, rotate?: boolean): Animation<any> | undefined {\n\n\t\tlet left: number | null = null;\n\t\tlet right: number | null = null;\n\t\tlet top: number | null = null;\n\t\tlet bottom: number | null = null;\n\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst longitude = dataItem.get(\"longitude\", 0);\n\t\t\tconst latitude = dataItem.get(\"latitude\", 0);\n\n\t\t\tif (left == null || left > longitude) {\n\t\t\t\tleft = longitude;\n\t\t\t}\n\t\t\tif (right == null || right < longitude) {\n\t\t\t\tright = longitude;\n\t\t\t}\n\t\t\tif (top == null || top < latitude) {\n\t\t\t\ttop = latitude;\n\t\t\t}\n\t\t\tif (bottom == null || bottom > latitude) {\n\t\t\t\tbottom = latitude;\n\t\t\t}\n\t\t})\n\t\tif (left != null && right != null && top != null && bottom != null) {\n\t\t\tconst chart = this.chart;\n\t\t\tif (chart) {\n\t\t\t\tif (rotate) {\n\t\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom }, undefined, -(left + (right - left) / 2), -(top + (top - bottom) / 2));\n\t\t\t\t}\n\t\t\t\treturn chart.zoomToGeoBounds({ left, right, top, bottom });\n\t\t\t}\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst chart = this.chart;\n\t\tif (chart) {\n\t\t\tchart.series.each((series) => {\n\t\t\t\tif (series.isType<MapLineSeries>(\"MapLineSeries\")) {\n\t\t\t\t\t$array.each(series.dataItems, (di) => {\n\t\t\t\t\t\tconst pointsToConnect = di.get(\"pointsToConnect\");\n\t\t\t\t\t\tif (pointsToConnect) {\n\t\t\t\t\t\t\t$array.each(pointsToConnect, (point) => {\n\t\t\t\t\t\t\t\tif (point == dataItem) {\n\t\t\t\t\t\t\t\t\t$array.remove(pointsToConnect, point);\n\t\t\t\t\t\t\t\t\tseries.markDirtyValues(di);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tsuper.disposeDataItem(dataItem);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _excludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._excludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unexcludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unexcludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _notIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._notIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", false);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected _unNotIncludeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._unNotIncludeDataItem(dataItem);\n\t\tconst bullets = dataItem.bullets;\n\t\tif (bullets) {\n\t\t\t$array.each(bullets, (bullet) => {\n\t\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\t\tif (sprite) {\n\t\t\t\t\tsprite.setPrivate(\"visible\", true);\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AxisRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AxisRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisRenderer.ts"],"names":[],"mappings":"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"}