realmap 1.0.13 → 1.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "realmap",
3
- "version": "1.0.13",
3
+ "version": "1.1.1",
4
4
  "description": "Wooritech map chart component library",
5
5
  "main": "./index.js",
6
6
  "module": "./index.mjs",
@@ -62,12 +62,24 @@
62
62
  "import": "./feature.mjs",
63
63
  "default": "./feature.mjs"
64
64
  },
65
+ "./gl": {
66
+ "types": "./gl.d.ts",
67
+ "require": "./gl.js",
68
+ "import": "./gl.mjs",
69
+ "default": "./gl.mjs"
70
+ },
65
71
  "./heatmap": {
66
72
  "types": "./heatmap.d.ts",
67
73
  "require": "./heatmap.js",
68
74
  "import": "./heatmap.mjs",
69
75
  "default": "./heatmap.mjs"
70
76
  },
77
+ "./region": {
78
+ "types": "./region.d.ts",
79
+ "require": "./region.js",
80
+ "import": "./region.mjs",
81
+ "default": "./region.mjs"
82
+ },
71
83
  "./sankey": {
72
84
  "types": "./sankey.d.ts",
73
85
  "require": "./sankey.js",
package/realmap-style.css CHANGED
@@ -48,6 +48,22 @@
48
48
  --rm-point-label-fill: #333;
49
49
 
50
50
  --rm-credits-fill: #777;
51
+
52
+ --rm-tooltip-bg: #313131;
53
+ --rm-tooltip-color: #fff;
54
+ --rm-tooltip-headermode-color: #000;
55
+ --rm-tooltip-headermode-bg: #fff;
56
+ --rm-tooltip-border-color: #313131;
57
+
58
+ --rm-null-area-fill: #f4f4f4;
59
+ --rm-null-area-stroke: #ccc;
60
+
61
+ --rm-map-series-hover-filter: brightness(1.05);
62
+ --rm-map-series-hover-stroke-width: 2px;
63
+ --rm-map-series-hover-label-fill: #000;
64
+
65
+ --rm-map-series-selected-stroke-width: 2.5px;
66
+ --rm-map-series-selected-filter: brightness(1.1);
51
67
  }
52
68
  .rm-root[data-theme='dark'] {
53
69
  --rm-focus-stroke: #ccc;
@@ -134,12 +150,6 @@
134
150
  .rm-root {
135
151
  padding: 20px;
136
152
  }
137
- :root, .rm-root {
138
- --map-series-hover-fill: #0088ff;
139
- --map-series-hover-label-fill: white;
140
- --map-series-selected-fill: #555;
141
- --map-series-selected-label-fill: white;
142
- }
143
153
 
144
154
  /** palette */
145
155
  :root, .rm-root {
@@ -218,6 +228,18 @@
218
228
  cursor: pointer;
219
229
  }
220
230
 
231
+ /** feedback */
232
+ .rm-bounds-tracker {
233
+ fill: #0088ff10;
234
+ stroke: #338;
235
+ stroke-width: 1;
236
+ }
237
+ .rm-bounds-tracker-tag {
238
+ font-family: Arial, Helvetica, sans-serif;
239
+ font-size: 0.85em;
240
+ fill: #fff;
241
+ }
242
+
221
243
  /** zoom panel */
222
244
  .rm-zoom-panel .rm-button {
223
245
  fill: white;
@@ -386,16 +408,21 @@
386
408
  .rm-tooltip {
387
409
  font-size: 0.8em;
388
410
  pointer-events: none;
389
- opacity: 0.9;
411
+ opacity: 1;
390
412
  }
391
413
  .rm-tooltip-back {
392
- fill: white;
414
+ fill: var(--rm-tooltip-bg);
415
+ }
416
+ .rm-tooltip-border {
417
+ fill: transparent;
418
+ stroke-width: 1px;
419
+ stroke: var(--rm-tooltip-border-color);
393
420
  }
394
421
  .rm-tooltip-tail {
395
- fill: white;
422
+ fill: var(--rm-tooltip-bg);
396
423
  }
397
424
  .rm-tooltip-text {
398
- fill: #333;
425
+ fill: white;
399
426
  stroke: none;
400
427
  }
401
428
 
@@ -497,7 +524,20 @@
497
524
  stroke: var(--color-12);
498
525
  }
499
526
 
500
- /** series */
527
+ /** data point cluster */
528
+ .rm-point-clusters[data-disabled] {
529
+ cursor: default;
530
+ }
531
+ .rm-point-cluster {
532
+ stroke: none;
533
+ cursor: pointer;
534
+ }
535
+ .rm-point-cluster-label {
536
+ font-size: 11px;
537
+ fill: white;
538
+ }
539
+
540
+ /** callout */
501
541
  .rm-callout-line {
502
542
  stroke: #555;
503
543
  stroke-width: 1.5px;
@@ -556,28 +596,14 @@
556
596
  /* stroke: #ccc; */
557
597
  }
558
598
  .rm-map-series .rm-point[data-null] {
559
- fill: #f4f4f4;
560
- stroke: #ccc;
599
+ fill: var(--rm-null-area-fill);
600
+ stroke: var(--rm-null-area-stroke);
561
601
  stroke-width: 1px;
562
602
  }
563
603
  .rm-map-series .rm-point[data-dummy] {
564
604
  fill: #f4f4f4;
565
605
  stroke: none;
566
606
  }
567
- .rm-map-series .rm-point[data-hover] {
568
- fill: var(--map-series-hover-fill) !important;
569
- /* stroke: #333; */
570
- /* stroke-width: 2px; */
571
- }
572
- .rm-map-series .rm-point-label[data-hover] {
573
- fill: var(--map-series-hover-label-fill) !important;
574
- }
575
- .rm-map-series .rm-point[data-selected] {
576
- /* fill: var(--map-series-selected-fill) !important; */
577
- fill: url(#rm-selected-area-fill);
578
- stroke: #333;
579
- stroke-width: 2px;
580
- }
581
607
  .rm-map-series .rm-point-label[data-selected] {
582
608
  fill: var(--map-series-selected-label-fill) !important;
583
609
  }
@@ -602,6 +628,16 @@
602
628
  stroke: #aaa;
603
629
  fill: none;
604
630
  }
631
+ .rm-map-series .rm-point[data-virtual] {
632
+ fill: none;
633
+ fill-opacity: 0;
634
+ }
635
+
636
+ /** feature series */
637
+ .rm-feature-series .rm-point {
638
+ fill-opacity: 0.5;
639
+ stroke-width: 2px;
640
+ }
605
641
 
606
642
  /** route series */
607
643
  .rm-route-series {
@@ -745,6 +781,11 @@
745
781
  padding: 2px 4px;
746
782
  }
747
783
 
784
+ /** heatmap series */
785
+ .rm-heatmap-series .rm-series-points {
786
+ opacity: 0.7;
787
+ }
788
+
748
789
  /** circle gauge */
749
790
  .rm-circle-gauge-face {
750
791
  fill: #0000ff10;
@@ -819,6 +860,21 @@
819
860
  height: 100%;
820
861
  }
821
862
 
863
+ /** map region */
864
+ .rm-mapregion-background {
865
+ stroke: #555;
866
+ fill: white;
867
+ }
868
+ .rm-mapregion-target {
869
+ stroke: #555;
870
+ fill: none;
871
+ }
872
+ .rm-mapregion-connector {
873
+ stroke: #555;
874
+ stroke-dasharray: 2;
875
+ fill: none;
876
+ }
877
+
822
878
  /* loading indicator */
823
879
  .rm-loading-background {
824
880
  fill: none;
package/region.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import * as RealMap from 'realmap';
2
+ import { MarkerSeries, RegionSeriesOptions, MarkerSeriesPoint, PointViewPosition, ISeries } from 'realmap';
3
+
4
+ /**
5
+ */
6
+ declare class RegionSeriesPoint extends MarkerSeriesPoint {
7
+ position: PointViewPosition;
8
+ protected _readObject(series: ISeries<RegionSeriesPoint>, v: any): void;
9
+ }
10
+ /**
11
+ * Region 시리즈 모델.<br/>
12
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/region region}이고,
13
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/RegionSeriesOptions RegionSeriesOptions}이다.
14
+ *
15
+ * @modules region
16
+ */
17
+ declare class RegionSeries extends MarkerSeries<RegionSeriesOptions> {
18
+ static type: string;
19
+ static defaults: RegionSeriesOptions;
20
+ private _root;
21
+ protected _doApply(options: RegionSeriesOptions): void;
22
+ protected _createPoint(source: any): RegionSeriesPoint;
23
+ protected _defLabelOff(): number;
24
+ }
25
+
26
+ declare function registerSeries(chart: typeof RealMap): void;
27
+
28
+ export { RegionSeries, registerSeries as default };
package/region.js ADDED
@@ -0,0 +1,7 @@
1
+
2
+ /**
3
+ * RealMap Region v1.1.1
4
+ * Copyright (C) 2023-2025 WooriTech Inc.
5
+ * All Rights Reserved.
6
+ */
7
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).RealMapregion={},e.RealMap)}(this,(function(e,r){"use strict";function t(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var i=t(r);class s extends r.MarkerSeriesPoint{_readObject(e,r){super._readObject(e,r)}}class n extends r.MarkerSeries{_doApply(e){super._doApply(e)}_createPoint(e){return new s(e)}_defLabelOff(){return 2}}n.type=r.RegionSeriesType,n.defaults=r.extend(r.MarkerSeries.defaults,{});class a extends r.MarkerSeriesPointView{constructor(e){super(e)}}class o extends r.MarkerSeriesView{constructor(e){super(e,"rm-region-series",!0,!1)}_createMarkers(e){return new r.PointViewPool(e,a)}_doPrepeare(e,r,t){this.$_prepareMarkers(r,r._visPoints)}_doRender(e,r){this.$_layoutMarkers(e,r)}_doReset(){}_runShowEffect(e){e&&r.SeriesAnimation.grow(this)}_doViewRateChanged(e){this.$_layoutMarkers(this.width,this.height)}$_prepareMarkers(e,r){}$_layoutMarkers(e,r){}}function u(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(n),e.SeriesView.register([n,o]))}u(i),e.RegionSeries=n,e.default=u,Object.defineProperty(e,"__esModule",{value:!0})}));
package/region.mjs ADDED
@@ -0,0 +1,7 @@
1
+
2
+ /**
3
+ * RealMap Region v1.1.1
4
+ * Copyright (C) 2023-2025 WooriTech Inc.
5
+ * All Rights Reserved.
6
+ */
7
+ import{RegionSeriesType as e,extend as r,MarkerSeries as s,MarkerSeriesPoint as t,MarkerSeriesView as a,PointViewPool as i,SeriesAnimation as n,MarkerSeriesPointView as o}from"./index.mjs";class d extends t{_readObject(e,r){super._readObject(e,r)}}class u extends s{_doApply(e){super._doApply(e)}_createPoint(e){return new d(e)}_defLabelOff(){return 2}}u.type=e,u.defaults=r(s.defaults,{});class _ extends o{constructor(e){super(e)}}class p extends a{constructor(e){super(e,"rm-region-series",!0,!1)}_createMarkers(e){return new i(e,_)}_doPrepeare(e,r,s){this.$_prepareMarkers(r,r._visPoints)}_doRender(e,r){this.$_layoutMarkers(e,r)}_doReset(){}_runShowEffect(e){e&&n.grow(this)}_doViewRateChanged(e){this.$_layoutMarkers(this.width,this.height)}$_prepareMarkers(e,r){}$_layoutMarkers(e,r){}}function c(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(u),e.SeriesView.register([u,p]))}export{u as RegionSeries,c as default};
package/sankey.d.ts CHANGED
@@ -9,8 +9,8 @@ declare class SankeySeriesPoint extends MarkerSeriesPoint {
9
9
  }
10
10
  /**
11
11
  * Sankey 시리즈 모델.<br/>
12
- * {@page op.SeriesOptions#type}은 {@page config.series.sankey 'sankey'}이고,
13
- * {@page options 설정} 모델은 {@page op.SankeySeriesOptions}이다.
12
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/sankey sankey}이고,
13
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/SankeySeriesOptions SankeySeriesOptions}이다.
14
14
  *
15
15
  * @modules sankey
16
16
  */
package/sankey.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * RealMap Sankey v1.0.13
3
+ * RealMap Sankey v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
package/sankey.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * RealMap Sankey v1.0.13
3
+ * RealMap Sankey v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
package/table.d.ts CHANGED
@@ -9,8 +9,8 @@ declare class TableSeriesPoint extends MarkerSeriesPoint {
9
9
  }
10
10
  /**
11
11
  * Table 시리즈 모델.<br/>
12
- * {@page op.SeriesOptions#type}은 {@page config.series.table 'table'}이고,
13
- * {@page options 설정} 모델은 {@page op.TableSeriesOptions}이다.
12
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/table table}이고,
13
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/TableSeriesOptions TableSeriesOptions}이다.
14
14
  *
15
15
  * @modules table
16
16
  */
package/table.js CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * RealMap Table v1.0.13
3
+ * RealMap Table v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
package/table.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  /**
3
- * RealMap Table v1.0.13
3
+ * RealMap Table v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
package/tiledweb.d.ts CHANGED
@@ -1,19 +1,58 @@
1
1
  import * as RealMap from 'realmap';
2
- import { Series, TiledWebSeriesOptions, DataPoint } from 'realmap';
2
+ import { Series, TiledWebSeriesOptions, IChart, TileWebProvider, MapCoord, ILegendSource, DataPoint } from 'realmap';
3
3
 
4
4
  declare class TiledWebSeriesPoint extends DataPoint {
5
+ url: string;
5
6
  }
6
7
  /**
7
8
  * @ignore
8
9
  *
9
10
  * TiledWeb 시리즈 모델.<br/>
10
- * {@page op.SeriesOptions#type}은 {@page config.series.tiledweb 'tiledweb'}이고,
11
- * {@page options 설정} 모델은 {@page op.TiledWebSeriesOptions}이다.
11
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/tiledweb tiledweb}이고,
12
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/TiledWebSeriesOptions TiledWebSeriesOptions}이다.
12
13
  */
13
14
  declare class TiledWebSeries extends Series<TiledWebSeriesOptions> {
14
15
  static type: string;
15
16
  static defaults: TiledWebSeriesOptions;
17
+ private _level;
18
+ private _provider;
19
+ private _sides;
20
+ private _xTile;
21
+ private _yTile;
22
+ private _wTile;
23
+ private _hTile;
24
+ private _start;
25
+ constructor(chart: IChart);
26
+ get proivder(): TileWebProvider;
27
+ get sides(): number;
28
+ get tileWidth(): number;
29
+ get tileHeight(): number;
30
+ prepareTiles(h1: number, h2: number, v1: number, v2: number, width: number, height: number, viewScale: number): {
31
+ level: number;
32
+ xTile: number;
33
+ yTile: number;
34
+ wTile: number;
35
+ hTile: number;
36
+ start: MapCoord;
37
+ };
38
+ isMapSeries(): boolean;
39
+ needTranslate(): boolean;
40
+ getLegendSources(legend: object, list: ILegendSource[]): void;
16
41
  protected _createPoint(source: any): TiledWebSeriesPoint;
42
+ protected _doApply(op: TiledWebSeriesOptions): void;
43
+ protected _doLoadPoints(src: any): void;
44
+ private $_calcLevel;
45
+ /**
46
+ * @private
47
+ *
48
+ * Zoom Level z: 지도에서 확대/축소 정도 (0: 전 세계 1장, 18+: 건물 수준)
49
+ * 1타일 = 256 × 256픽셀 (고정)
50
+ * 지도 전체는 경도 -180° ~ +180°, 위도 -85.0511° ~ +85.0511°]
51
+ * Web Mercator 투영(EPSG:3857) 기준
52
+ */
53
+ private $_setLevel;
54
+ private $_coordToTile;
55
+ private $_tileToCoord;
17
56
  }
18
57
 
19
58
  declare function registerSeries(chart: typeof RealMap): void;
package/tiledweb.js CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Tiledweb v1.0.13
3
+ * RealMap Tiledweb v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMaptiledweb={},e.RealMap)}(this,(function(e,t){"use strict";function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var n=r(t);class i extends t.DataPoint{}class a extends t.Series{_createPoint(e){return new i(e)}}function f(e){(function(e){return e.Series&&e.SeriesView})(e)&&e.Series.register(a)}a.type=t.TiledWebSeriesType,a.defaults=t.extend(t.Series.defaults,{}),f(n),e.TiledWebSeries=a,e.default=f,Object.defineProperty(e,"__esModule",{value:!0})}));
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMaptiledweb={},e.RealMap)}(this,(function(e,t){"use strict";function i(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var s=i(t);const r={osm:{url:"https://a.tile.openstreetmap.org",credit:"OpenStreetMap"},esri:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile",credit:"Esri"}};class l extends t.DataPoint{}class o extends t.Series{constructor(e){super(e),this._start=[NaN,NaN]}get proivder(){return this._provider}get sides(){return this._sides}get tileWidth(){return this._wTile}get tileHeight(){return this._hTile}prepareTiles(e,t,i,s,r,l,o){this.chart.body.zoom;let h=this.$_calcLevel(e,t,r);const n=Math.pow(2,h-(h|0));let a=256*n,d=256*n;h=Math.floor(h),this.$_setLevel(h);const _=this.$_coordToTile([e,Math.min(85.0511,s)]),c=this.$_tileToCoord(_);return h===this._level&&_.x===this._xTile&&_.y===this._yTile&&a===this._wTile&&d===this._hTile&&c[0]===this._start[0]&&c[1]===this._start[1]||(this._level=h,this._xTile=_.x,this._yTile=_.y,this._wTile=a,this._hTile=d,this._start=c),{level:this._level,xTile:this._xTile,yTile:this._yTile,wTile:this._wTile,hTile:this._hTile,start:this._start}}isMapSeries(){return!0}needTranslate(){return!1}getLegendSources(e,t){}_createPoint(e){return new l(e)}_doApply(e){super._doApply(e);const i=e.provider;t.isObject(i)?this._provider=i:this._provider=r[String(i)||"osm"]}_doLoadPoints(e){}$_calcLevel(e,t,i,s=256){return Math.log2(360*i/(Math.abs(t-e)*s))}$_setLevel(e){(e=Math.max(1,e))!==this._level&&(this._level=e,this._sides=2**e,this._wTile=360/this._sides,this._hTile=170.1022/this._sides,this._optionChanged())}$_coordToTile(e){const i=this._sides,s=e[1]*t.DEG_RAD;return{z:i,x:(e[0]+180)/360*i,y:(1-Math.log(Math.tan(s)+1/Math.cos(s))/t.PI)/2*i}}$_tileToCoord(e){return[e.x/e.z*360-180,Math.atan(Math.sinh(t.PI*(1-2*e.y/e.z)))*(180/t.PI)]}}o.type=t.TiledWebSeriesType,o.defaults=t.extend(t.Series.defaults,{provider:"osm"});class h extends t.ImageElement{}class n extends t.SeriesView{constructor(e){super(e,"rm-tiledweb-series",!0,!1),this._pool={},this._dic={},this._images=[],this.ignorePointer()}_doPrepeare(e,t,i){}_doRender(e,t){const i=this.model,s=i.map,r=i.prepareTiles(s.h1,s.h2,s.v1,s.v2,e,t,this._scale);this.$_layoutTiles(r,i,e,t,this._wBody,this._hBody),this._clip?this._clip.setBounds(0,0,e,t):this._clip=this.clipRect(0,0,e,t)}_doReset(){}_runShowEffect(e){e&&t.SeriesAnimation.grow(this)}click(e){}$_layoutTiles(e,t,i,s,r,l){const o=t.proivder,n=o.url+(o.url.endsWith("/")?"":"/"),a=Math.pow(2,e.level),d=e.wTile,_=e.hTile,c=e.xTile|0,p=e.yTile|0,u=(c-e.xTile)*d,T=(p-e.yTile)*_,f=Math.min(i,r),g=Math.min(s,l),m=(-this.tx-u)/e.wTile|0,v=(-this.ty-T)/e.hTile|0;let y=Math.min(a,Math.ceil((f-u)/e.wTile)),M=Math.min(a,Math.ceil((g-T)/e.hTile));for(;i>r&&(m+y)*e.wTile+this.tx+u<r;)y++;for(;s>l&&(v+M)*e.hTile+this.ty+T<l;)M++;const w=y*M,x=this.control.doc(),S=this._images.slice();S.forEach((e=>{e.deleted=!0})),this._images=[];for(let t=0;t<w;t++){const i=t%y+m,s=(t/y|0)+v,r=`${n}${e.level}/${c+i}/${p+s}.png`;let l=this._dic[r];l?l.deleted=!1:(l=this._pool[r],l?delete this._pool[r]:l=new h(x)),this._pointContainer.append(l),this._dic[r]=l,this._images.push(l),l.setImage(r,d,_),l.trans(i*d,s*_)}S.forEach((e=>{e.deleted&&(delete this._dic[e.url],e.removeLater(1e3,(e=>{this._pool[e.url]=e})))})),this._pointContainer.trans(u,T)}}function a(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(o),e.SeriesView.register([o,n]))}a(s),e.TiledWebSeries=o,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})}));
package/tiledweb.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Tiledweb v1.0.13
3
+ * RealMap Tiledweb v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- import{TiledWebSeriesType as e,extend as t,Series as s,DataPoint as r}from"./index.mjs";class n extends r{}class i extends s{_createPoint(e){return new n(e)}}function a(e){(function(e){return e.Series&&e.SeriesView})(e)&&e.Series.register(i)}i.type=e,i.defaults=t(s.defaults,{});export{i as TiledWebSeries,a as default};
7
+ import{TiledWebSeriesType as e,extend as t,Series as i,isObject as s,DEG_RAD as r,PI as h,DataPoint as l}from"./index.mjs";const o={osm:{url:"https://a.tile.openstreetmap.org",credit:"OpenStreetMap"},esri:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile",credit:"Esri"}};class _ extends l{}class a extends i{constructor(e){super(e),this._start=[NaN,NaN]}get proivder(){return this._provider}get sides(){return this._sides}get tileWidth(){return this._wTile}get tileHeight(){return this._hTile}prepareTiles(e,t,i,s,r,h,l){this.chart.body.zoom;let o=this.$_calcLevel(e,t,r);const _=Math.pow(2,o-(o|0));let a=256*_,n=256*_;o=Math.floor(o),this.$_setLevel(o);const d=this.$_coordToTile([e,Math.min(85.0511,s)]),p=this.$_tileToCoord(d);return o===this._level&&d.x===this._xTile&&d.y===this._yTile&&a===this._wTile&&n===this._hTile&&p[0]===this._start[0]&&p[1]===this._start[1]||(this._level=o,this._xTile=d.x,this._yTile=d.y,this._wTile=a,this._hTile=n,this._start=p),{level:this._level,xTile:this._xTile,yTile:this._yTile,wTile:this._wTile,hTile:this._hTile,start:this._start}}isMapSeries(){return!0}needTranslate(){return!1}getLegendSources(e,t){}_createPoint(e){return new _(e)}_doApply(e){super._doApply(e);const t=e.provider;s(t)?this._provider=t:this._provider=o[String(t)||"osm"]}_doLoadPoints(e){}$_calcLevel(e,t,i,s=256){return Math.log2(360*i/(Math.abs(t-e)*s))}$_setLevel(e){(e=Math.max(1,e))!==this._level&&(this._level=e,this._sides=2**e,this._wTile=360/this._sides,this._hTile=170.1022/this._sides,this._optionChanged())}$_coordToTile(e){const t=this._sides,i=e[1]*r;return{z:t,x:(e[0]+180)/360*t,y:(1-Math.log(Math.tan(i)+1/Math.cos(i))/h)/2*t}}$_tileToCoord(e){return[e.x/e.z*360-180,Math.atan(Math.sinh(h*(1-2*e.y/e.z)))*(180/h)]}}function n(e){(function(e){return e.Series&&e.SeriesView})(e)&&e.Series.register(a)}a.type=e,a.defaults=t(i.defaults,{provider:"osm"});export{a as TiledWebSeries,n as default};
package/track.d.ts CHANGED
@@ -14,8 +14,8 @@ declare class TrackSeriesOutline extends ChartItem {
14
14
  }
15
15
  /**
16
16
  * Track 시리즈 모델.<br/>
17
- * {@page op.SeriesOptions#type}은 {@page config.series.track 'track'}이고,
18
- * {@page options 설정} 모델은 {@page op.TrackSeriesOptions}이다.
17
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/track track}이고,
18
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/TrackSeriesOptions TrackSeriesOptions}이다.
19
19
  *
20
20
  * @modules track
21
21
  */
package/track.js CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Track v1.0.13
3
+ * RealMap Track v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMaptrack={},e.RealMap)}(this,(function(e,t){"use strict";function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var r=s(t);class i extends t.DataPoint{_readObject(e,s){super._readObject(e,s),t.isArray(s.track)?this.track=this.$_parseTrack(s.track):t.isArray(s.coord)?this.track=this.coord:this.coord?this.track=[this.coord]:this.track=[]}_readArray(e,t){this.track=this.$_parseTrack(t)}$_parseTrack(e){const s=[];return e.forEach((e=>{t.isArray(e)?s.push([e[0],e[1]]):isNaN(e.lon)||isNaN(e.lat)||s.push([e.lon,e.lat])})),s}}class n extends t.ChartItem{}n.defaults=t.extend(t.ChartItem.defaults,{});class o extends t.Series{constructor(e){super(e),this._shape=e.getNextPointShape()}_doInit(e){super._doInit(e),e.outline=(this._outline=new n(this.chart))._init()}get outline(){return this._outline}getShape(){return this._op.shape||this._shape}getRadius(){return t.pickNum(this._op.radius,o.defaults.radius)}needMapScale(){return!0}_createPoint(e){return new i(e)}_defLabelOff(){return 2}}o.type=t.TrackSeriesType,o.defaults=t.extend(t.Series.defaults,{radius:3});class a extends t.PointElement{constructor(e){super(e,!0),this._points=[],this.add(this._line=new t.PolyLineElement(e)),t.Dom.setNoScale(this._line.dom),this.add(this._pointLayer=new t.LayerElement(e)),this.add(this._outline=new t.PolyLineElement(e,"rm-track-series-outline")),t.Dom.setNoScale(this._outline.dom)}prepare(e,s,r,i,n){const o=r.track,a=this._pts=[];if(t.isArray(o)){o.forEach((e=>{a.push(i.project(e))}));const e=this._pos=a[0].slice();a[0][0]=a[0][1]=0;for(let t=1;t<a.length;t++)a[t][0]=a[t][0]-e[0],a[t][1]=a[t][1]-e[1]}this.$_preparePoints(e,this._pointLayer,a)}render(e,t,s,r,i){const n=this._pts.slice(0,this._pts.length*i|0);this.$_renderLine(n,i),this.$_renderPoints(e,r,n,i),this.$_renderOutline(t.outline,n,i)}$_preparePoints(e,s,r){const i=this._points;for(;i.length<r.length;){const r=new t.PathElement(e,"rm-track-series-point");t.Dom.setNoScale(r.dom),i.push(s.add(r))}for(;i.length>r.length;)i.pop().remove()}$_renderLine(e,t){this._line.setVisible(e.length>1)&&(this._line.setFill("none"),this._line.setLines(e,!1))}$_renderPoints(e,t,s,r){this._points.forEach(((r,i)=>{r.setVisible(i<s.length)&&(r.setPath(e(t,t)),r.transc(s[i]))}))}$_renderOutline(e,t,s){this._outline.setVisible(e.visible&&t.length>1)&&(this._outline.internalResetStyleOrClass(e._style),this._outline.setFill("none"),this._outline.setLines(t,!1))}}class l extends t.SeriesView{constructor(e){super(e,"rm-track-series",!1,!1),this._tracks=new t.PointViewPool(this._pointContainer,a,"rm-track-series-track")}_getPointPool(){return this._tracks}_setPointColor(e,t){e.setColor(t)}_doPrepeare(e,t,s){s&&this.$_prepareTracks(e,t,t._visPoints)}_doRender(e,t){this.$_layoutTracks(this._getGrowRate())}_doReset(){}_runShowEffect(e){e&&t.SeriesAnimation.grow(this)}_doViewRateChanged(e){this.$_layoutTracks(e)}runPointAddAnimation(e){}_legendColorProp(){return"stroke"}$_prepareTracks(e,s,r){s.options.shape;const i=r.length,n=!t._isIE,o=s.chart.getProjection(this._second);this._pointContainer.setStroke(s._runColor),this._pointContainer.setFill(s._runColor),this._tracks.prepare(i,((t,i)=>{const a=t.point=r[i];this._setPointStyle(t,s,a),t.prepare(e,s,a,o,n)}))}$_layoutTracks(e){const s=this.model,r=s.chart.getProjection(this._second);this._scaler;const i=this._scale;this._tracks.forEach(((n,o)=>{const a=n.point;if(n.setVisible(!a.isNull&&null!=r.getVisible(a.track[0]))){let[r,o]=n._pos;const l=t.SeriesView.getDrawer(s.getShape()),c=n._radius=s.getRadius();a.xPos=r,a.yPos=o,n.render(l,s,a,c/i,e),n.trans(r,o)}}))}}function c(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(o),e.SeriesView.register([o,l]))}c(r),e.TrackSeries=o,e.default=c,Object.defineProperty(e,"__esModule",{value:!0})}));
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMaptrack={},e.RealMap)}(this,(function(e,t){"use strict";function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var r=s(t);class i extends t.DataPoint{_readObject(e,s){super._readObject(e,s),t.isArray(s.track)?this.track=this.$_parseTrack(s.track):t.isArray(s.coord)?this.track=this.coord:this.coord?this.track=[this.coord]:this.track=[]}_readArray(e,t){this.track=this.$_parseTrack(t)}$_parseTrack(e){const s=[];return e.forEach((e=>{t.isArray(e)?s.push([e[0],e[1]]):isNaN(e.lon)||isNaN(e.lat)||s.push([e.lon,e.lat])})),s}}class n extends t.ChartItem{}n.defaults=t.extend(t.ChartItem.defaults,{});class o extends t.Series{constructor(e){super(e),this._shape=e.getNextPointShape()}_doInit(e){super._doInit(e),e.outline=(this._outline=new n(this.chart))._init()}get outline(){return this._outline}getShape(){return this._op.shape||this._shape}getRadius(){return t.pickNum(this._op.radius,o.defaults.radius)}needMapScale(){return!0}_createPoint(e){return new i(e)}_defLabelOff(){return 2}}o.type=t.TrackSeriesType,o.defaults=t.extend(t.Series.defaults,{radius:3});class a extends t.PointElement{constructor(e){super(e,!0),this._points=[],this.add(this._line=new t.PolyLineElement(e)),t.Dom.setNoScale(this._line.dom),this.add(this._pointLayer=new t.LayerElement(e)),this.add(this._outline=new t.PolyLineElement(e,"rm-track-series-outline")),t.Dom.setNoScale(this._outline.dom)}prepare(e,s,r,i,n){const o=r.track,a=this._pts=[];if(t.isArray(o)){o.forEach((e=>{a.push(i.project(e))}));const e=this._pos=a[0].slice();a[0][0]=a[0][1]=0;for(let t=1;t<a.length;t++)a[t][0]=a[t][0]-e[0],a[t][1]=a[t][1]-e[1]}this.$_preparePoints(e,this._pointLayer,a)}render(e,t,s,r,i){const n=this._pts.slice(0,this._pts.length*i|0);this.$_renderLine(n,i),this.$_renderPoints(e,r,n,i),this.$_renderOutline(t.outline,n,i)}$_preparePoints(e,s,r){const i=this._points;for(;i.length<r.length;){const r=new t.PathElement(e,"rm-track-series-point");t.Dom.setNoScale(r.dom),i.push(s.add(r))}for(;i.length>r.length;)i.pop().remove()}$_renderLine(e,t){this._line.setVisible(e.length>1)&&(this._line.setFill("none"),this._line.setLines(e,!1))}$_renderPoints(e,t,s,r){this._points.forEach(((r,i)=>{r.setVisible(i<s.length)&&(r.setPath(e(t,t)),r.transc(s[i]))}))}$_renderOutline(e,t,s){this._outline.setVisible(e.visible&&t.length>1)&&(this._outline.internalResetStyleOrClass(e._style),this._outline.setFill("none"),this._outline.setLines(t,!1))}}class l extends t.SeriesView{constructor(e){super(e,"rm-track-series",!1,!1),this._tracks=new t.PointViewPool(this._pointContainer,a,"rm-track-series-track")}_getPointPool(){return this._tracks}_setPointColor(e,t){e.setColor(t)}_doPrepeare(e,t,s){s&&this.$_prepareTracks(e,t,t._visPoints)}_doRender(e,t){this.$_layoutTracks(this._getGrowRate())}_doReset(){}_runShowEffect(e){e&&t.SeriesAnimation.grow(this)}_doViewRateChanged(e){this.$_layoutTracks(e)}runPointAddAnimation(e){}_legendColorProp(){return"stroke"}$_prepareTracks(e,s,r){s.options.shape;const i=r.length,n=!t._isIE,o=s.chart.getProjection();this._pointContainer.setStroke(s._runColor),this._pointContainer.setFill(s._runColor),this._tracks.prepare(i,((t,i)=>{const a=t.point=r[i];this._setPointStyle(t,s,a),t.prepare(e,s,a,o,n)}))}$_layoutTracks(e){const s=this.model,r=s.chart.getProjection();this._scaler;const i=this._scale;this._tracks.forEach(((n,o)=>{const a=n.point;if(n.setVisible(!a.isNull&&null!=r.getVisible(a.track[0]))){let[r,o]=n._pos;const l=t.SeriesView.getDrawer(s.getShape()),c=n._radius=s.getRadius();a.xPos=r,a.yPos=o,n.render(l,s,a,c/i,e),n.trans(r,o)}}))}}function c(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(o),e.SeriesView.register([o,l]))}c(r),e.TrackSeries=o,e.default=c,Object.defineProperty(e,"__esModule",{value:!0})}));
package/track.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Track v1.0.13
3
+ * RealMap Track v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- import{extend as t,ChartItem as e,TrackSeriesType as s,Series as i,pickNum as r,DataPoint as n,isArray as o,SeriesView as a,PointViewPool as h,SeriesAnimation as l,PointElement as c,PolyLineElement as _,Dom as p,LayerElement as d,PathElement as u,_isIE as k}from"./index.mjs";class g extends n{_readObject(t,e){super._readObject(t,e),o(e.track)?this.track=this.$_parseTrack(e.track):o(e.coord)?this.track=this.coord:this.coord?this.track=[this.coord]:this.track=[]}_readArray(t,e){this.track=this.$_parseTrack(e)}$_parseTrack(t){const e=[];return t.forEach((t=>{o(t)?e.push([t[0],t[1]]):isNaN(t.lon)||isNaN(t.lat)||e.push([t.lon,t.lat])})),e}}class f extends e{}f.defaults=t(e.defaults,{});class P extends i{constructor(t){super(t),this._shape=t.getNextPointShape()}_doInit(t){super._doInit(t),t.outline=(this._outline=new f(this.chart))._init()}get outline(){return this._outline}getShape(){return this._op.shape||this._shape}getRadius(){return r(this._op.radius,P.defaults.radius)}needMapScale(){return!0}_createPoint(t){return new g(t)}_defLabelOff(){return 2}}P.type=s,P.defaults=t(i.defaults,{radius:3});class $ extends c{constructor(t){super(t,!0),this._points=[],this.add(this._line=new _(t)),p.setNoScale(this._line.dom),this.add(this._pointLayer=new d(t)),this.add(this._outline=new _(t,"rm-track-series-outline")),p.setNoScale(this._outline.dom)}prepare(t,e,s,i,r){const n=s.track,a=this._pts=[];if(o(n)){n.forEach((t=>{a.push(i.project(t))}));const t=this._pos=a[0].slice();a[0][0]=a[0][1]=0;for(let e=1;e<a.length;e++)a[e][0]=a[e][0]-t[0],a[e][1]=a[e][1]-t[1]}this.$_preparePoints(t,this._pointLayer,a)}render(t,e,s,i,r){const n=this._pts.slice(0,this._pts.length*r|0);this.$_renderLine(n,r),this.$_renderPoints(t,i,n,r),this.$_renderOutline(e.outline,n,r)}$_preparePoints(t,e,s){const i=this._points;for(;i.length<s.length;){const s=new u(t,"rm-track-series-point");p.setNoScale(s.dom),i.push(e.add(s))}for(;i.length>s.length;)i.pop().remove()}$_renderLine(t,e){this._line.setVisible(t.length>1)&&(this._line.setFill("none"),this._line.setLines(t,!1))}$_renderPoints(t,e,s,i){this._points.forEach(((i,r)=>{i.setVisible(r<s.length)&&(i.setPath(t(e,e)),i.transc(s[r]))}))}$_renderOutline(t,e,s){this._outline.setVisible(t.visible&&e.length>1)&&(this._outline.internalResetStyleOrClass(t._style),this._outline.setFill("none"),this._outline.setLines(e,!1))}}class S extends a{constructor(t){super(t,"rm-track-series",!1,!1),this._tracks=new h(this._pointContainer,$,"rm-track-series-track")}_getPointPool(){return this._tracks}_setPointColor(t,e){t.setColor(e)}_doPrepeare(t,e,s){s&&this.$_prepareTracks(t,e,e._visPoints)}_doRender(t,e){this.$_layoutTracks(this._getGrowRate())}_doReset(){}_runShowEffect(t){t&&l.grow(this)}_doViewRateChanged(t){this.$_layoutTracks(t)}runPointAddAnimation(t){}_legendColorProp(){return"stroke"}$_prepareTracks(t,e,s){e.options.shape;const i=s.length,r=!k,n=e.chart.getProjection(this._second);this._pointContainer.setStroke(e._runColor),this._pointContainer.setFill(e._runColor),this._tracks.prepare(i,((i,o)=>{const a=i.point=s[o];this._setPointStyle(i,e,a),i.prepare(t,e,a,n,r)}))}$_layoutTracks(t){const e=this.model,s=e.chart.getProjection(this._second);this._scaler;const i=this._scale;this._tracks.forEach(((r,n)=>{const o=r.point;if(r.setVisible(!o.isNull&&null!=s.getVisible(o.track[0]))){let[s,n]=r._pos;const h=a.getDrawer(e.getShape()),l=r._radius=e.getRadius();o.xPos=s,o.yPos=n,r.render(h,e,o,l/i,t),r.trans(s,n)}}))}}function w(t){(function(t){return t.Series&&t.SeriesView})(t)&&(t.Series.register(P),t.SeriesView.register([P,S]))}export{P as TrackSeries,w as default};
7
+ import{extend as t,ChartItem as e,TrackSeriesType as s,Series as r,pickNum as i,DataPoint as n,isArray as o,SeriesView as a,PointViewPool as h,SeriesAnimation as l,PointElement as c,PolyLineElement as _,Dom as p,LayerElement as u,PathElement as d,_isIE as k}from"./index.mjs";class g extends n{_readObject(t,e){super._readObject(t,e),o(e.track)?this.track=this.$_parseTrack(e.track):o(e.coord)?this.track=this.coord:this.coord?this.track=[this.coord]:this.track=[]}_readArray(t,e){this.track=this.$_parseTrack(e)}$_parseTrack(t){const e=[];return t.forEach((t=>{o(t)?e.push([t[0],t[1]]):isNaN(t.lon)||isNaN(t.lat)||e.push([t.lon,t.lat])})),e}}class f extends e{}f.defaults=t(e.defaults,{});class P extends r{constructor(t){super(t),this._shape=t.getNextPointShape()}_doInit(t){super._doInit(t),t.outline=(this._outline=new f(this.chart))._init()}get outline(){return this._outline}getShape(){return this._op.shape||this._shape}getRadius(){return i(this._op.radius,P.defaults.radius)}needMapScale(){return!0}_createPoint(t){return new g(t)}_defLabelOff(){return 2}}P.type=s,P.defaults=t(r.defaults,{radius:3});class $ extends c{constructor(t){super(t,!0),this._points=[],this.add(this._line=new _(t)),p.setNoScale(this._line.dom),this.add(this._pointLayer=new u(t)),this.add(this._outline=new _(t,"rm-track-series-outline")),p.setNoScale(this._outline.dom)}prepare(t,e,s,r,i){const n=s.track,a=this._pts=[];if(o(n)){n.forEach((t=>{a.push(r.project(t))}));const t=this._pos=a[0].slice();a[0][0]=a[0][1]=0;for(let e=1;e<a.length;e++)a[e][0]=a[e][0]-t[0],a[e][1]=a[e][1]-t[1]}this.$_preparePoints(t,this._pointLayer,a)}render(t,e,s,r,i){const n=this._pts.slice(0,this._pts.length*i|0);this.$_renderLine(n,i),this.$_renderPoints(t,r,n,i),this.$_renderOutline(e.outline,n,i)}$_preparePoints(t,e,s){const r=this._points;for(;r.length<s.length;){const s=new d(t,"rm-track-series-point");p.setNoScale(s.dom),r.push(e.add(s))}for(;r.length>s.length;)r.pop().remove()}$_renderLine(t,e){this._line.setVisible(t.length>1)&&(this._line.setFill("none"),this._line.setLines(t,!1))}$_renderPoints(t,e,s,r){this._points.forEach(((r,i)=>{r.setVisible(i<s.length)&&(r.setPath(t(e,e)),r.transc(s[i]))}))}$_renderOutline(t,e,s){this._outline.setVisible(t.visible&&e.length>1)&&(this._outline.internalResetStyleOrClass(t._style),this._outline.setFill("none"),this._outline.setLines(e,!1))}}class S extends a{constructor(t){super(t,"rm-track-series",!1,!1),this._tracks=new h(this._pointContainer,$,"rm-track-series-track")}_getPointPool(){return this._tracks}_setPointColor(t,e){t.setColor(e)}_doPrepeare(t,e,s){s&&this.$_prepareTracks(t,e,e._visPoints)}_doRender(t,e){this.$_layoutTracks(this._getGrowRate())}_doReset(){}_runShowEffect(t){t&&l.grow(this)}_doViewRateChanged(t){this.$_layoutTracks(t)}runPointAddAnimation(t){}_legendColorProp(){return"stroke"}$_prepareTracks(t,e,s){e.options.shape;const r=s.length,i=!k,n=e.chart.getProjection();this._pointContainer.setStroke(e._runColor),this._pointContainer.setFill(e._runColor),this._tracks.prepare(r,((r,o)=>{const a=r.point=s[o];this._setPointStyle(r,e,a),r.prepare(t,e,a,n,i)}))}$_layoutTracks(t){const e=this.model,s=e.chart.getProjection();this._scaler;const r=this._scale;this._tracks.forEach(((i,n)=>{const o=i.point;if(i.setVisible(!o.isNull&&null!=s.getVisible(o.track[0]))){let[s,n]=i._pos;const h=a.getDrawer(e.getShape()),l=i._radius=e.getRadius();o.xPos=s,o.yPos=n,i.render(h,e,o,l/r,t),i.trans(s,n)}}))}}function w(t){(function(t){return t.Series&&t.SeriesView})(t)&&(t.Series.register(P),t.SeriesView.register([P,S]))}export{P as TrackSeries,w as default};
package/vector.d.ts CHANGED
@@ -12,8 +12,8 @@ declare class VectorSeriesPoint extends MarkerSeriesPoint {
12
12
  }
13
13
  /**
14
14
  * Vector 시리즈 모델.<br/>
15
- * {@page op.SeriesOptions#type}은 {@page config.series.point 'vector'}이고,
16
- * {@page options 설정} 모델은 {@page op.VectorSeriesOptions}이다.
15
+ * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/point vector}이고,
16
+ * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/VectorSeriesOptions VectorSeriesOptions}이다.
17
17
  */
18
18
  declare class VectorSeries extends MarkerSeries<VectorSeriesOptions> {
19
19
  static type: string;
package/vector.js CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Vector v1.0.13
3
+ * RealMap Vector v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMapvector={},e.RealMap)}(this,(function(e,t){"use strict";function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=r(t);class s extends t.MarkerSeriesPoint{_readObject(e,t){super._readObject(e,t),this.length=e._lengthFielder(t),this.angle=e._angleFielder(t)}}class n extends t.MarkerSeries{_createFielders(e){super._createFielders(e),this._lengthFielder=this._createFielder(e.lengthField||"length"),this._angleFielder=this._createFielder(e.angleField||"angle")}_createPoint(e){return new s(e)}_defLabelOff(){return 2}_doLoadPoints(e){super._doLoadPoints(e)}_createLegendMarker(e,t){}legendMarker(e,t){}}n.type=t.VectorSeriesType,n.defaults=t.extend(t.MarkerSeries.defaults,{headType:"openArrow",lengthField:"length",angleField:"angle",startAngle:0});class a extends t.MarkerSeriesPointView{}class o extends t.MarkerSeriesView{constructor(e){super(e,"rm-vector-series",!0,!1)}_createMarkers(e){return new t.PointViewPool(e,a)}_doPrepeare(e,t,r){this.$_prepareMarkers(t,t._visPoints)}_doRender(e,t){this.$_layoutMarkers()}_doReset(){}$_prepareMarkers(e,t){const r=t.length;this._pointContainer.setFill(e._runColor),this._markers.prepare(r,((r,i)=>{const s=r.point=t[i];this._setPointStyle(r,e,s),r.prepare()}))}$_layoutMarkers(){this.chart().isDirty;const e=this.model.chart.getProjection(this._second);this._getGrowRate();const t=this.model;this._scale,t.options.rotation;t.pointLabel.options.position,this._labelViews(),t.getLabelOff(),t.getCallout(),this._calloutViews(),this._markers.forEach(((t,r)=>{const i=t.point,s=[i.lon,i.lat];t.setVisible(!i.isNull&&null!=e.getVisible(s))}))}}function l(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(n),e.SeriesView.register([n,o]))}l(i),e.VectorSeries=n,e.default=l,Object.defineProperty(e,"__esModule",{value:!0})}));
7
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realmap")):"function"==typeof define&&define.amd?define(["exports","realmap"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealMapvector={},e.RealMap)}(this,(function(e,t){"use strict";function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=r(t);class s extends t.MarkerSeriesPoint{_readObject(e,t){super._readObject(e,t),this.length=e._lengthFielder(t),this.angle=e._angleFielder(t)}}class n extends t.MarkerSeries{_createFielders(e){super._createFielders(e),this._lengthFielder=this._createFielder(e.lengthField||"length"),this._angleFielder=this._createFielder(e.angleField||"angle")}_createPoint(e){return new s(e)}_defLabelOff(){return 2}_doLoadPoints(e){super._doLoadPoints(e)}_createLegendMarker(e,t){}legendMarker(e,t){}}n.type=t.VectorSeriesType,n.defaults=t.extend(t.MarkerSeries.defaults,{headType:"openArrow",lengthField:"length",angleField:"angle",startAngle:0});class a extends t.MarkerSeriesPointView{}class o extends t.MarkerSeriesView{constructor(e){super(e,"rm-vector-series",!0,!1)}_createMarkers(e){return new t.PointViewPool(e,a)}_doPrepeare(e,t,r){this.$_prepareMarkers(t,t._visPoints)}_doRender(e,t){this.$_layoutMarkers()}_doReset(){}$_prepareMarkers(e,t){const r=t.length;this._pointContainer.setFill(e._runColor),this._markers.prepare(r,((r,i)=>{const s=r.point=t[i];this._setPointStyle(r,e,s),r.prepare()}))}$_layoutMarkers(){this.chart().isDirty;const e=this.model.chart.getProjection();this._getGrowRate();const t=this.model;this._scale,t.options.rotation;t.pointLabel.options.position,this._labelViews(),t.getLabelOff(),t.getCallout(),this._calloutViews(),this._markers.forEach(((t,r)=>{const i=t.point,s=[i.lon,i.lat];t.setVisible(!i.isNull&&null!=e.getVisible(s))}))}}function l(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(n),e.SeriesView.register([n,o]))}l(i),e.VectorSeries=n,e.default=l,Object.defineProperty(e,"__esModule",{value:!0})}));
package/vector.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
2
  /**
3
- * RealMap Vector v1.0.13
3
+ * RealMap Vector v1.1.1
4
4
  * Copyright (C) 2023-2025 WooriTech Inc.
5
5
  * All Rights Reserved.
6
6
  */
7
- import{VectorSeriesType as e,extend as t,MarkerSeries as r,MarkerSeriesPoint as s,MarkerSeriesView as i,PointViewPool as l,MarkerSeriesPointView as n}from"./index.mjs";class a extends s{_readObject(e,t){super._readObject(e,t),this.length=e._lengthFielder(t),this.angle=e._angleFielder(t)}}class o extends r{_createFielders(e){super._createFielders(e),this._lengthFielder=this._createFielder(e.lengthField||"length"),this._angleFielder=this._createFielder(e.angleField||"angle")}_createPoint(e){return new a(e)}_defLabelOff(){return 2}_doLoadPoints(e){super._doLoadPoints(e)}_createLegendMarker(e,t){}legendMarker(e,t){}}o.type=e,o.defaults=t(r.defaults,{headType:"openArrow",lengthField:"length",angleField:"angle",startAngle:0});class d extends n{}class _ extends i{constructor(e){super(e,"rm-vector-series",!0,!1)}_createMarkers(e){return new l(e,d)}_doPrepeare(e,t,r){this.$_prepareMarkers(t,t._visPoints)}_doRender(e,t){this.$_layoutMarkers()}_doReset(){}$_prepareMarkers(e,t){const r=t.length;this._pointContainer.setFill(e._runColor),this._markers.prepare(r,((r,s)=>{const i=r.point=t[s];this._setPointStyle(r,e,i),r.prepare()}))}$_layoutMarkers(){this.chart().isDirty;const e=this.model.chart.getProjection(this._second);this._getGrowRate();const t=this.model;this._scale,t.options.rotation;t.pointLabel.options.position,this._labelViews(),t.getLabelOff(),t.getCallout(),this._calloutViews(),this._markers.forEach(((t,r)=>{const s=t.point,i=[s.lon,s.lat];t.setVisible(!s.isNull&&null!=e.getVisible(i))}))}}function h(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(o),e.SeriesView.register([o,_]))}export{o as VectorSeries,h as default};
7
+ import{VectorSeriesType as e,extend as t,MarkerSeries as r,MarkerSeriesPoint as s,MarkerSeriesView as i,PointViewPool as l,MarkerSeriesPointView as n}from"./index.mjs";class a extends s{_readObject(e,t){super._readObject(e,t),this.length=e._lengthFielder(t),this.angle=e._angleFielder(t)}}class o extends r{_createFielders(e){super._createFielders(e),this._lengthFielder=this._createFielder(e.lengthField||"length"),this._angleFielder=this._createFielder(e.angleField||"angle")}_createPoint(e){return new a(e)}_defLabelOff(){return 2}_doLoadPoints(e){super._doLoadPoints(e)}_createLegendMarker(e,t){}legendMarker(e,t){}}o.type=e,o.defaults=t(r.defaults,{headType:"openArrow",lengthField:"length",angleField:"angle",startAngle:0});class d extends n{}class _ extends i{constructor(e){super(e,"rm-vector-series",!0,!1)}_createMarkers(e){return new l(e,d)}_doPrepeare(e,t,r){this.$_prepareMarkers(t,t._visPoints)}_doRender(e,t){this.$_layoutMarkers()}_doReset(){}$_prepareMarkers(e,t){const r=t.length;this._pointContainer.setFill(e._runColor),this._markers.prepare(r,((r,s)=>{const i=r.point=t[s];this._setPointStyle(r,e,i),r.prepare()}))}$_layoutMarkers(){this.chart().isDirty;const e=this.model.chart.getProjection();this._getGrowRate();const t=this.model;this._scale,t.options.rotation;t.pointLabel.options.position,this._labelViews(),t.getLabelOff(),t.getCallout(),this._calloutViews(),this._markers.forEach(((t,r)=>{const s=t.point,i=[s.lon,s.lat];t.setVisible(!s.isNull&&null!=e.getVisible(i))}))}}function h(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(o),e.SeriesView.register([o,_]))}export{o as VectorSeries,h as default};