@naivemap/maplibre-gl-echarts-layer 0.0.1-alpha.0 → 0.1.0

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.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @naivemap/maplibre-gl-echarts-layer
2
+
3
+ EChartsLayer ([@naivemap/maplibre-gl-echarts-layer](https://www.npmjs.com/package/@naivemap/maplibre-gl-echarts-layer)): Integrates Apache ECharts with MapLibre GL JS, specifically enabling the use of **Lines graphs** and **Scatter (bubble)** charts as a map layer. This allows for visualizing connections, paths, and point-based data with the rich styling capabilities of ECharts.
4
+
5
+ [API References](https://www.naivemap.com/maplibre-gl-layers/api/echarts-layer/)
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pnpm add @naivemap/maplibre-gl-echarts-layer echarts
11
+ ```
@@ -0,0 +1,101 @@
1
+ import { ComposeOption, EffectScatterSeriesOption, LegendComponentOption, LinesSeriesOption, ScatterSeriesOption, TitleComponentOption, TooltipComponentOption } from 'echarts';
2
+ import { default as maplibregl } from 'maplibre-gl';
3
+ /**
4
+ * A composite type for ECharts options used by the EChartsLayer.
5
+ * It includes common components and series types like Lines and Scatter.
6
+ */
7
+ export type ECOption = ComposeOption<TitleComponentOption | TooltipComponentOption | LegendComponentOption | LinesSeriesOption | ScatterSeriesOption | EffectScatterSeriesOption>;
8
+ /**
9
+ * A custom MapLibre GL JS layer that renders Apache ECharts visualizations.
10
+ *
11
+ * @remarks
12
+ * This layer integrates ECharts by creating a dedicated canvas over the map,
13
+ * allowing for rich data visualizations using ECharts' powerful charting capabilities.
14
+ * It is optimized for `lines` and `scatter` series types to visualize flows,
15
+ * trajectories, and point distributions.
16
+ *
17
+ * The layer automatically synchronizes the ECharts view with the map's panning and zooming.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import EChartsLayer from '@naivemap/maplibre-gl-echarts-layer';
22
+ *
23
+ * // 1. Define a standard ECharts option object.
24
+ * const option = {
25
+ * series: [{
26
+ * type: 'scatter',
27
+ * name: 'Cities',
28
+ * data: [
29
+ * // Data format: [longitude, latitude]
30
+ * [-74.0060, 40.7128],
31
+ * [-0.1278, 51.5074],
32
+ * [139.6917, 35.6895]
33
+ * ],
34
+ * symbolSize: 10,
35
+ * }]
36
+ * };
37
+ *
38
+ * // 2. Create the layer instance
39
+ * const layer = new EChartsLayer('echarts-layer', option);
40
+ *
41
+ * // 3. Add the layer to the map
42
+ * map.addLayer(layer);
43
+ * ```
44
+ */
45
+ export default class EChartsLayer implements maplibregl.CustomLayerInterface {
46
+ id: string;
47
+ /**
48
+ * @ignore
49
+ */
50
+ type: 'custom';
51
+ /**
52
+ * @ignore
53
+ */
54
+ renderingMode?: '2d' | '3d' | undefined;
55
+ private _container;
56
+ private _map;
57
+ private _ec;
58
+ private _coordSystemName;
59
+ private _ecOption;
60
+ /**
61
+ * @param id - A unique layer id
62
+ * @param ecOption - The ECharts option object used to configure the visualization.
63
+ * @see https://echarts.apache.org/en/option.html
64
+ */
65
+ constructor(id: string, ecOption: ECOption);
66
+ /**
67
+ * @ignore
68
+ */
69
+ onAdd(map: maplibregl.Map): void;
70
+ /**
71
+ * @ignore
72
+ */
73
+ onRemove(): void;
74
+ /**
75
+ * Updates the ECharts visualization with a new configuration.
76
+ * This is the primary method for dynamically changing the displayed data or styles.
77
+ *
78
+ * @param option - The new ECharts option object to apply.
79
+ * @param notMerge - If true, the new options will completely replace the existing ones.
80
+ * If false or undefined, the new options will be merged with the old ones.
81
+ * Defaults to `false`.
82
+ * @see https://echarts.apache.org/en/api.html#echartsInstance.setOption
83
+ */
84
+ setOption(option: ECOption, notMerge?: boolean): void;
85
+ /**
86
+ * @ignore
87
+ */
88
+ render(): void;
89
+ /**
90
+ * @ignore
91
+ */
92
+ private _prepareECharts;
93
+ /**
94
+ * @ignore
95
+ */
96
+ private _createLayerContainer;
97
+ /**
98
+ * @ignore
99
+ */
100
+ private _removeLayerContainer;
101
+ }
package/dist/index.d.ts CHANGED
@@ -1,61 +1,3 @@
1
- import { ComposeOption, EffectScatterSeriesOption, LegendComponentOption, LinesSeriesOption, ScatterSeriesOption, TitleComponentOption, TooltipComponentOption } from 'echarts';
2
- import { default as maplibregl } from 'maplibre-gl';
3
- /**
4
- * EChartsLayer 配置项
5
- */
6
- export type ECOption = ComposeOption<TitleComponentOption | TooltipComponentOption | LegendComponentOption | LinesSeriesOption | ScatterSeriesOption | EffectScatterSeriesOption>;
7
- /**
8
- * EChartsLayer is a custom layer for MapLibre GL that integrates ECharts.
9
- */
10
- export default class EChartsLayer implements maplibregl.CustomLayerInterface {
11
- id: string;
12
- /**
13
- * 图层类型
14
- * @ignore
15
- */
16
- type: 'custom';
17
- /**
18
- * @ignore
19
- */
20
- renderingMode?: '2d' | '3d' | undefined;
21
- private _container;
22
- private _map;
23
- private _ec;
24
- private _coordSystemName;
25
- private _ecOption;
26
- /**
27
- * 构造函数,用于初始化 EChartsLayer 实例
28
- * @param id - 图层 id
29
- * @param ecOption - ECharts 的配置选项
30
- */
31
- constructor(id: string, ecOption: ECOption);
32
- /**
33
- * @ignore
34
- */
35
- onAdd(map: maplibregl.Map): void;
36
- /**
37
- * @ignore
38
- */
39
- onRemove(): void;
40
- /**
41
- * 设置配置项
42
- * @param option
43
- */
44
- setOption(option: ECOption): void;
45
- /**
46
- * @ignore
47
- */
48
- render(): void;
49
- /**
50
- * @ignore
51
- */
52
- private _prepareECharts;
53
- /**
54
- * @ignore
55
- */
56
- private _createLayerContainer;
57
- /**
58
- * @ignore
59
- */
60
- private _removeLayerContainer;
61
- }
1
+ import { default as EChartsLayer } from './EChartsLayer';
2
+ export type { ECOption } from './EChartsLayer';
3
+ export default EChartsLayer;
package/dist/index.js CHANGED
@@ -1,153 +1,158 @@
1
1
  import { getCoordinateSystemDimensions as p, registerCoordinateSystem as m, init as l } from "echarts";
2
- const c = r;
3
- function r(a, t) {
2
+ function r(i, t) {
4
3
  const x = o();
5
- return r = function(e, n) {
6
- return e = e - 241, x[e];
7
- }, r(a, t);
4
+ return r = function(e, _) {
5
+ return e = e - 224, x[e];
6
+ }, r(i, t);
7
+ }
8
+ function o() {
9
+ const i = ["render", "project", "2|1|0|3|4", "isMoving", "width", "_coordSystemName", "length", "AahOj", "_prepareECharts", "apply", "split", "(((.+)+)+)+$", "_container", "lat", "series", "pointToData", "291772lPDZXS", "GOsgX", "_mapOffset", "getCanvasContainer", "unproject", "qhkgu", "689079IRHymf", "resize", "get", "dIzPr", "_createLayerContainer", "height", "_ec", "_ecOption", "constructor", "sYjhy", "create", "temDW", "dispose", "lng", "19488352RZTPFo", "renderingMode", "toString", "7700120jwSfap", "removeChild", "style", "getCanvas", "AObut", "dimensions", "380055ZZhKbX", "jagNs", "JQxpV", "kbosd", "1806070sfIyDw", "search", "dataToPoint", "coordinateSystem", "onRemove", "div", "substring", "onAdd", "knxrt", "9846420jFGSOz", "setOption", "LfjDd", "parentNode", "type", "2FsNvYb", "_removeLayerContainer", "RYmSC", "_map", "random"];
10
+ return o = function() {
11
+ return i;
12
+ }, o();
8
13
  }
9
- (function(a, t) {
10
- const x = { _0x23e5d9: 290, _0x3f1620: 293, _0x216574: 254, _0x4f9397: 266, _0x322c37: 271 }, e = r, n = a();
14
+ const c = r;
15
+ (function(i, t) {
16
+ const x = { _0x4ce361: 253, _0x3dedf7: 247, _0x5eb008: 270, _0x37281f: 280 }, e = r, _ = i();
11
17
  for (; ; )
12
18
  try {
13
- if (-parseInt(e(265)) / 1 + parseInt(e(x._0x23e5d9)) / 2 + parseInt(e(275)) / 3 * (-parseInt(e(282)) / 4) + parseInt(e(246)) / 5 + parseInt(e(x._0x3f1620)) / 6 + parseInt(e(x._0x216574)) / 7 * (parseInt(e(x._0x4f9397)) / 8) + parseInt(e(x._0x322c37)) / 9 * (parseInt(e(278)) / 10) === t) break;
14
- n.push(n.shift());
19
+ if (-parseInt(e(276)) / 1 + parseInt(e(226)) / 2 * (parseInt(e(x._0x4ce361)) / 3) + parseInt(e(x._0x3dedf7)) / 4 + parseInt(e(x._0x5eb008)) / 5 + parseInt(e(289)) / 6 + parseInt(e(x._0x37281f)) / 7 + -parseInt(e(267)) / 8 === t) break;
20
+ _.push(_.shift());
15
21
  } catch {
16
- n.push(n.shift());
22
+ _.push(_.shift());
17
23
  }
18
- })(o, 141456);
24
+ })(o, 925641);
19
25
  const u = /* @__PURE__ */ function() {
20
- let a = !0;
26
+ let i = !0;
21
27
  return function(t, x) {
22
- const e = a ? function() {
28
+ const e = i ? function() {
29
+ const _ = r;
23
30
  if (x) {
24
- const n = x.apply(t, arguments);
31
+ const n = x[_(240)](t, arguments);
25
32
  return x = null, n;
26
33
  }
27
34
  } : function() {
28
35
  };
29
- return a = !1, e;
36
+ return i = !1, e;
30
37
  };
31
38
  }(), h = u(void 0, function() {
32
- const a = { _0x2f699e: 294, _0xf5535b: 281 }, t = r, x = { Crzqp: t(242) };
33
- return h[t(294)]().search(x[t(280)])[t(a._0x2f699e)]()[t(a._0xf5535b)](h).search(x[t(280)]);
39
+ const i = { _0x29537a: 269, _0x58c935: 278, _0x1c7685: 261, _0xe28cc7: 281 }, t = r, x = { JQxpV: t(242) };
40
+ return h[t(i._0x29537a)]().search(x[t(i._0x58c935)])[t(i._0x29537a)]()[t(i._0x1c7685)](h)[t(i._0xe28cc7)](x.JQxpV);
34
41
  });
35
- function o() {
36
- const a = ["onAdd", "1|0|2|4|3", "270006AooCIv", "toString", "_prepareECharts", "kNQZd", "resize", "_mapOffset", "setOption", "(((.+)+)+)+$", "renderingMode", "create", "eachSeries", "494140zRsDub", "unproject", "lng", "coordinateSystem", "getCanvas", "Hikti", "_map", "hlTTY", "21yCLBFm", "removeChild", "Uagfb", "BmDKL", "style", "split", "_ecOption", "div", "custom", "height", "_removeLayerContainer", "187012MTkkdf", "182128XyDEma", "length", "_container", "_createLayerContainer", "width", "54DSmZWC", "get", "fNkHe", "getCanvasContainer", "3sdMMDH", "render", "_ec", "237310VduYSB", "DGeVJ", "Crzqp", "constructor", "874024kAIvQJ", "type", "Pdajs", "clear", "pYMfU", "yBoJj", "_coordSystemName", "UyIOi", "384922mxbSqV"];
37
- return o = function() {
38
- return a;
39
- }, o();
40
- }
41
42
  h();
42
- const y = "maplibregl-echarts";
43
- class d {
43
+ const g = "maplibregl-echarts";
44
+ class b {
44
45
  id;
45
- dimensions = ["x", "y"];
46
- [c(252)];
46
+ [c(275)] = ["x", "y"];
47
+ [c(229)];
47
48
  _mapOffset = [0, 0];
48
49
  constructor(t, x) {
49
- this.id = t, this._map = x;
50
+ const e = c;
51
+ this.id = t, this[e(229)] = x;
50
52
  }
51
- [c(244)](t) {
52
- const x = { _0xd7c942: 245 }, e = { _0x2e9752: 284, _0x29f7e6: 272 }, n = c, _ = { Pdajs: function(s, i) {
53
- return s === i;
54
- }, Hikti: n(249) };
55
- t[n(x._0xd7c942)]((s) => {
56
- const i = n;
57
- _[i(e._0x2e9752)](s[i(e._0x29f7e6)](_[i(251)]), this.id) && (s[i(249)] = new d(this.id, this._map));
53
+ [c(263)](t) {
54
+ const x = { _0x2bc2ed: 288 }, e = c, _ = { knxrt: function(n, s) {
55
+ return n === s;
56
+ }, YzlBK: e(283) };
57
+ t.eachSeries((n) => {
58
+ const s = e;
59
+ _[s(x._0x2bc2ed)](n[s(255)](_.YzlBK), this.id) && (n[s(283)] = new b(this.id, this[s(229)]));
58
60
  });
59
61
  }
60
- dataToPoint(t) {
61
- const x = { _0xcf3b8a: 289 }, e = c, n = { UyIOi: function(i, f) {
62
- return i - f;
63
- } }, _ = this[e(252)].project(t), s = this._mapOffset;
64
- return [n[e(x._0xcf3b8a)](_.x, s[0]), n.UyIOi(_.y, s[1])];
62
+ [c(282)](t) {
63
+ const x = { _0x5d94b4: 229, _0x21d0d5: 249, _0x4b510c: 238 }, e = c, _ = { AahOj: function(a, f) {
64
+ return a - f;
65
+ } }, n = this[e(x._0x5d94b4)][e(232)](t), s = this[e(x._0x21d0d5)];
66
+ return [_[e(x._0x4b510c)](n.x, s[0]), _.AahOj(n.y, s[1])];
65
67
  }
66
- pointToData(t) {
67
- const x = { _0x35cabb: 273 }, e = c, n = { fNkHe: function(i, f) {
68
- return i + f;
69
- } }, _ = this[e(298)], s = this[e(252)][e(247)]([n[e(273)](t[0], _[0]), n[e(x._0x35cabb)](t[1], _[1])]);
70
- return [s[e(248)], s.lat];
68
+ [c(246)](t) {
69
+ const x = c, e = { yAZXc: function(s, a) {
70
+ return s + a;
71
+ }, aHVXM: function(s, a) {
72
+ return s + a;
73
+ } }, _ = this._mapOffset, n = this[x(229)][x(251)]([e.yAZXc(t[0], _[0]), e.aHVXM(t[1], _[1])]);
74
+ return [n[x(266)], n[x(244)]];
71
75
  }
72
76
  }
73
- class C {
77
+ class O {
74
78
  id;
75
- [c(283)];
76
- renderingMode;
79
+ [c(225)];
77
80
  [c(268)];
78
- [c(252)];
79
- _ec;
80
- _coordSystemName;
81
- [c(260)];
81
+ _container;
82
+ [c(229)];
83
+ [c(259)];
84
+ [c(236)];
85
+ _ecOption;
82
86
  constructor(t, x) {
83
- const e = { _0x290523: 262, _0x3a5717: 259, _0x3123dd: 283, _0x17418b: 257, _0x207349: 279 }, n = c, _ = { yBoJj: n(292), BmDKL: n(e._0x290523), DGeVJ: function(f, b) {
84
- return f + b;
85
- } }, s = _[n(287)][n(e._0x3a5717)]("|");
86
- let i = 0;
87
+ const e = { _0x11b415: 256, _0x35bebc: 241, _0x2beb0a: 268, _0x46fbcd: 264 }, _ = c, n = { dIzPr: _(233), svGWO: "custom", temDW: function(f, d) {
88
+ return f + d;
89
+ }, AObut: function(f, d) {
90
+ return f + d;
91
+ } }, s = n[_(e._0x11b415)][_(e._0x35bebc)]("|");
92
+ let a = 0;
87
93
  for (; ; ) {
88
- switch (s[i++]) {
94
+ switch (s[a++]) {
89
95
  case "0":
90
- this[n(e._0x3123dd)] = _[n(e._0x17418b)];
96
+ this[_(e._0x2beb0a)] = "2d";
91
97
  continue;
92
98
  case "1":
93
- this.id = t;
99
+ this[_(225)] = n.svGWO;
94
100
  continue;
95
101
  case "2":
96
- this[n(243)] = "2d";
102
+ this.id = t;
97
103
  continue;
98
104
  case "3":
99
- this[n(260)] = x;
105
+ this._coordSystemName = n[_(e._0x46fbcd)](n[_(274)](g, "-"), Math[_(230)]()[_(269)](16)[_(286)](2));
100
106
  continue;
101
107
  case "4":
102
- this[n(288)] = _[n(279)](_[n(e._0x207349)](y, "-"), Math.random().toString(16).substring(2));
108
+ this._ecOption = x;
103
109
  continue;
104
110
  }
105
111
  break;
106
112
  }
107
113
  }
108
- [c(291)](t) {
109
- const x = { _0x2de920: 252 }, e = c, n = { nsABt: function(_, s) {
110
- return _(s);
111
- }, pYMfU: function(_, s, i) {
112
- return _(s, i);
114
+ [c(287)](t) {
115
+ const x = { _0x494f35: 229, _0x2a74fd: 236, _0x4c38c2: 236 }, e = c, _ = { LfjDd: function(n, s) {
116
+ return n(s);
117
+ }, GOsgX: function(n, s, a) {
118
+ return n(s, a);
113
119
  } };
114
- if (this[e(252)] = t, this._createLayerContainer(), !n.nsABt(p, this[e(288)])) {
115
- const _ = new d(this[e(288)], this[e(x._0x2de920)]);
116
- n[e(286)](m, this._coordSystemName, _);
120
+ if (this[e(x._0x494f35)] = t, this[e(257)](), !_[e(291)](p, this[e(x._0x2a74fd)])) {
121
+ const n = new b(this[e(x._0x2a74fd)], this[e(x._0x494f35)]);
122
+ _[e(248)](m, this[e(x._0x4c38c2)], n);
117
123
  }
118
124
  }
119
- onRemove() {
120
- const t = { _0x42472a: 264 }, x = c;
121
- this._ec?.dispose(), this[x(t._0x42472a)]();
125
+ [c(284)]() {
126
+ const t = { _0x2df32d: 265 }, x = c;
127
+ this._ec?.[x(t._0x2df32d)](), this[x(227)]();
122
128
  }
123
- [c(241)](t) {
124
- const x = { _0x5b08bb: 241 }, e = c;
125
- this[e(277)]?.[e(x._0x5b08bb)](t);
129
+ setOption(t, x) {
130
+ this._ec?.setOption(t, x);
126
131
  }
127
- [c(276)]() {
128
- const t = { _0x444ec5: 269, _0x2d3cbf: 268, _0x2f0be4: 295, _0x584136: 285, _0x5ea923: 297, _0x3af77b: 250, _0x2b8464: 277, _0x21238a: 241, _0x3bc6b6: 260 }, x = c, e = { hlTTY: function(n, _) {
129
- return n(_);
132
+ [c(231)]() {
133
+ const t = { _0x412dab: 257, _0x36df60: 259, _0x3a2f40: 252, _0x584cfe: 259, _0x3503e0: 229, _0x4f3fb8: 234, _0x53c7f3: 259, _0x1963b2: 259, _0x4bf6fb: 254, _0x340c63: 229, _0x27a5ef: 235, _0x345038: 273, _0x289605: 259 }, x = c, e = { qhkgu: function(_, n) {
134
+ return _(n);
130
135
  } };
131
- !this[x(268)] && this[x(t._0x444ec5)](), this[x(277)] ? this._map.isMoving() ? this[x(277)][x(t._0x584136)]() : (this[x(277)][x(t._0x5ea923)]({ width: this[x(252)][x(250)]().width, height: this[x(252)][x(t._0x3af77b)]()[x(263)] }), this[x(t._0x2b8464)][x(t._0x21238a)](this[x(t._0x3bc6b6)])) : (this[x(277)] = e[x(253)](l, this[x(t._0x2d3cbf)]), this[x(t._0x2f0be4)](), this[x(277)].setOption(this._ecOption));
136
+ !this._container && this[x(t._0x412dab)](), this[x(t._0x36df60)] ? this[x(t._0x3503e0)][x(t._0x4f3fb8)]() ? this[x(t._0x53c7f3)].clear() : (this[x(t._0x1963b2)][x(t._0x4bf6fb)]({ width: this[x(t._0x340c63)][x(273)]()[x(t._0x27a5ef)], height: this[x(229)][x(t._0x345038)]().height }), this[x(t._0x289605)].setOption(this[x(260)])) : (this[x(259)] = e[x(t._0x3a2f40)](l, this._container), this._prepareECharts(), this[x(t._0x584cfe)][x(290)](this[x(260)]));
132
137
  }
133
- [c(295)]() {
134
- const t = { _0x5936fe: 256 }, x = c, e = { gDpnW: function(_, s) {
135
- return _ - s;
136
- }, kNQZd: function(_, s) {
137
- return _ >= s;
138
- }, Uagfb: "coordinateSystem" }, n = this._ecOption.series;
139
- if (n) for (let _ = e.gDpnW(n[x(267)], 1); e[x(296)](_, 0); _--)
140
- n[_][e[x(t._0x5936fe)]] = this[x(288)];
138
+ [c(239)]() {
139
+ const t = { _0x515dcc: 277, _0x49035a: 262, _0x3df600: 236 }, x = c, e = { jagNs: function(n, s) {
140
+ return n - s;
141
+ }, kbosd: function(n, s) {
142
+ return n >= s;
143
+ }, sYjhy: "coordinateSystem" }, _ = this[x(260)][x(245)];
144
+ if (_) for (let n = e[x(t._0x515dcc)](_[x(237)], 1); e[x(279)](n, 0); n--)
145
+ _[n][e[x(t._0x49035a)]] = this[x(t._0x3df600)];
141
146
  }
142
- [c(269)]() {
143
- const t = { _0xb7153e: 261, _0x22d553: 268, _0x401d55: 270, _0x5b4acf: 258, _0x3c92b2: 252, _0x43dc6e: 263 }, x = c, e = { RevXs: x(t._0xb7153e) }, n = this._map[x(274)]();
144
- this[x(268)] = document.createElement(e.RevXs), this[x(t._0x22d553)][x(258)][x(t._0x401d55)] = this._map[x(250)]()[x(258)][x(t._0x401d55)], this[x(268)][x(t._0x5b4acf)][x(263)] = this[x(t._0x3c92b2)][x(250)]().style[x(t._0x43dc6e)], n.appendChild(this[x(t._0x22d553)]);
147
+ [c(257)]() {
148
+ const t = { _0x591bf8: 229, _0x281234: 243, _0x2e77a2: 235, _0xda316: 273, _0x3a53b0: 272, _0x384d1e: 229, _0x3becc9: 258 }, x = c, e = { RYmSC: x(285) }, _ = this[x(t._0x591bf8)][x(250)]();
149
+ this[x(243)] = document.createElement(e[x(228)]), this[x(t._0x281234)][x(272)][x(t._0x2e77a2)] = this[x(229)][x(t._0xda316)]()[x(t._0x3a53b0)].width, this[x(243)].style[x(258)] = this[x(t._0x384d1e)].getCanvas()[x(272)][x(t._0x3becc9)], _.appendChild(this[x(243)]);
145
150
  }
146
151
  _removeLayerContainer() {
147
- const t = { _0x48a86d: 268, _0x2a5eb3: 255 }, x = c;
148
- this[x(268)] && this[x(t._0x48a86d)].parentNode?.[x(t._0x2a5eb3)](this._container);
152
+ const t = { _0x17c978: 224, _0x144b9b: 271 }, x = c;
153
+ this._container && this[x(243)][x(t._0x17c978)]?.[x(t._0x144b9b)](this._container);
149
154
  }
150
155
  }
151
156
  export {
152
- C as default
157
+ O as default
153
158
  };
@@ -1 +1 @@
1
- (function(i,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("echarts")):typeof define=="function"&&define.amd?define(["echarts"],s):(i=typeof globalThis<"u"?globalThis:i||self,i.EChartsLayer=s(i.echarts))})(this,function(i){"use strict";const s="maplibregl-echarts";class o{id;dimensions=["x","y"];_map;_mapOffset=[0,0];constructor(t,e){this.id=t,this._map=e}create(t){t.eachSeries(e=>{e.get("coordinateSystem")===this.id&&(e.coordinateSystem=new o(this.id,this._map))})}dataToPoint(t){const e=this._map.project(t),n=this._mapOffset;return[e.x-n[0],e.y-n[1]]}pointToData(t){const e=this._mapOffset,n=this._map.unproject([t[0]+e[0],t[1]+e[1]]);return[n.lng,n.lat]}}class a{id;type;renderingMode;_container;_map;_ec;_coordSystemName;_ecOption;constructor(t,e){this.id=t,this.type="custom",this.renderingMode="2d",this._coordSystemName=s+"-"+Math.random().toString(16).substring(2),this._ecOption=e}onAdd(t){if(this._map=t,this._createLayerContainer(),!i.getCoordinateSystemDimensions(this._coordSystemName)){const e=new o(this._coordSystemName,this._map);i.registerCoordinateSystem(this._coordSystemName,e)}}onRemove(){this._ec?.dispose(),this._removeLayerContainer()}setOption(t){this._ec?.setOption(t)}render(){this._container||this._createLayerContainer(),this._ec?this._map.isMoving()?this._ec.clear():(this._ec.resize({width:this._map.getCanvas().width,height:this._map.getCanvas().height}),this._ec.setOption(this._ecOption)):(this._ec=i.init(this._container),this._prepareECharts(),this._ec.setOption(this._ecOption))}_prepareECharts(){const t=this._ecOption.series;if(t)for(let e=t.length-1;e>=0;e--)t[e].coordinateSystem=this._coordSystemName}_createLayerContainer(){const t=this._map.getCanvasContainer();this._container=document.createElement("div"),this._container.style.width=this._map.getCanvas().style.width,this._container.style.height=this._map.getCanvas().style.height,t.appendChild(this._container)}_removeLayerContainer(){this._container&&this._container.parentNode?.removeChild(this._container)}}return a});
1
+ (function(i,s){typeof exports=="object"&&typeof module<"u"?module.exports=s(require("echarts")):typeof define=="function"&&define.amd?define(["echarts"],s):(i=typeof globalThis<"u"?globalThis:i||self,i.EChartsLayer=s(i.echarts))})(this,function(i){"use strict";const s="maplibregl-echarts";class o{id;dimensions=["x","y"];_map;_mapOffset=[0,0];constructor(t,e){this.id=t,this._map=e}create(t){t.eachSeries(e=>{e.get("coordinateSystem")===this.id&&(e.coordinateSystem=new o(this.id,this._map))})}dataToPoint(t){const e=this._map.project(t),n=this._mapOffset;return[e.x-n[0],e.y-n[1]]}pointToData(t){const e=this._mapOffset,n=this._map.unproject([t[0]+e[0],t[1]+e[1]]);return[n.lng,n.lat]}}class a{id;type;renderingMode;_container;_map;_ec;_coordSystemName;_ecOption;constructor(t,e){this.id=t,this.type="custom",this.renderingMode="2d",this._coordSystemName=s+"-"+Math.random().toString(16).substring(2),this._ecOption=e}onAdd(t){if(this._map=t,this._createLayerContainer(),!i.getCoordinateSystemDimensions(this._coordSystemName)){const e=new o(this._coordSystemName,this._map);i.registerCoordinateSystem(this._coordSystemName,e)}}onRemove(){this._ec?.dispose(),this._removeLayerContainer()}setOption(t,e){this._ec?.setOption(t,e)}render(){this._container||this._createLayerContainer(),this._ec?this._map.isMoving()?this._ec.clear():(this._ec.resize({width:this._map.getCanvas().width,height:this._map.getCanvas().height}),this._ec.setOption(this._ecOption)):(this._ec=i.init(this._container),this._prepareECharts(),this._ec.setOption(this._ecOption))}_prepareECharts(){const t=this._ecOption.series;if(t)for(let e=t.length-1;e>=0;e--)t[e].coordinateSystem=this._coordSystemName}_createLayerContainer(){const t=this._map.getCanvasContainer();this._container=document.createElement("div"),this._container.style.width=this._map.getCanvas().style.width,this._container.style.height=this._map.getCanvas().style.height,t.appendChild(this._container)}_removeLayerContainer(){this._container&&this._container.parentNode?.removeChild(this._container)}}return a});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@naivemap/maplibre-gl-echarts-layer",
3
- "version": "0.0.1-alpha.0",
4
- "description": "Integrate the Lines graph and Scatter (bubble) chart of Apache ECharts",
3
+ "version": "0.1.0",
4
+ "description": "A MapLibre GL JS layer to integrate Apache ECharts' Lines and Scatter charts.",
5
5
  "main": "./dist/index.umd.cjs",
6
6
  "module": "./dist/index.js",
7
7
  "type": "module",
@@ -37,6 +37,6 @@
37
37
  },
38
38
  "scripts": {
39
39
  "build": "vite build",
40
- "docs:build": "pnpm typedoc"
40
+ "typedocs": "pnpm typedoc"
41
41
  }
42
42
  }