@mint-ui/map 1.2.0-test.40 → 1.2.0-test.41
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/dist/components/mint-map/core/advanced/shared/types.d.ts +25 -10
- package/dist/components/mint-map/core/advanced/shared/types.js +4 -0
- package/dist/components/mint-map/core/advanced/shared/utils.d.ts +34 -1
- package/dist/components/mint-map/core/advanced/shared/utils.js +40 -0
- package/dist/index.es.js +49 -11
- package/dist/index.js +1 -0
- package/dist/index.umd.js +49 -10
- package/package.json +1 -1
|
@@ -33,26 +33,41 @@ export interface CanvasOption {
|
|
|
33
33
|
/**
|
|
34
34
|
* 서버 데이터와 캔버스 옵션을 결합한 타입
|
|
35
35
|
*
|
|
36
|
-
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우, CanvasOption의 필드가 우선됩니다.
|
|
37
|
-
*
|
|
38
36
|
* @template T 서버에서 받은 원본 데이터 타입
|
|
39
37
|
*
|
|
38
|
+
* @remarks
|
|
39
|
+
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우 (예: id, position 등),
|
|
40
|
+
* 변환 시 명시적으로 매핑해야 합니다. createCanvasData 헬퍼 함수를 사용하세요.
|
|
41
|
+
*
|
|
40
42
|
* @example
|
|
43
|
+
* ```typescript
|
|
41
44
|
* // 서버 데이터에 id가 number 타입인 경우
|
|
42
45
|
* interface ServerData {
|
|
43
46
|
* id: number;
|
|
44
47
|
* name: string;
|
|
45
48
|
* }
|
|
46
49
|
*
|
|
47
|
-
* //
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
50
|
+
* // ❌ 잘못된 사용 (타입 에러 발생)
|
|
51
|
+
* const data: CanvasData<ServerData> = {
|
|
52
|
+
* ...serverData,
|
|
53
|
+
* id: String(serverData.id), // 명시적 변환 필요
|
|
54
|
+
* position: new Position(lat, lng)
|
|
55
|
+
* };
|
|
56
|
+
*
|
|
57
|
+
* // ✅ 올바른 사용 (헬퍼 함수 사용)
|
|
58
|
+
* const data = createCanvasData(serverData, {
|
|
59
|
+
* id: String(serverData.id),
|
|
60
|
+
* position: new Position(lat, lng)
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare type CanvasData<T = {}> = T & CanvasOption;
|
|
65
|
+
/**
|
|
66
|
+
* 서버 데이터를 CanvasData로 변환하는 헬퍼 함수
|
|
67
|
+
*
|
|
68
|
+
* @see createCanvasData in ./utils.ts
|
|
54
69
|
*/
|
|
55
|
-
export
|
|
70
|
+
export { createCanvasData } from './utils';
|
|
56
71
|
/**
|
|
57
72
|
* 렌더링 유틸리티 함수들 (좌표 변환)
|
|
58
73
|
*
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var utils = require('./utils.js');
|
|
6
|
+
|
|
5
7
|
/**
|
|
6
8
|
* 캔버스 데이터 타입 Enum
|
|
7
9
|
*/
|
|
@@ -11,3 +13,5 @@ exports.CanvasDataType = void 0;
|
|
|
11
13
|
CanvasDataType["MARKER"] = "MARKER";
|
|
12
14
|
CanvasDataType["POLYGON"] = "POLYGON";
|
|
13
15
|
})(exports.CanvasDataType || (exports.CanvasDataType = {}));
|
|
16
|
+
|
|
17
|
+
exports.createCanvasData = utils.createCanvasData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Offset } from "../../../types";
|
|
2
2
|
import { MintMapController } from "../../MintMapController";
|
|
3
|
-
import { CanvasData } from "./types";
|
|
3
|
+
import { CanvasData, CanvasOption } from "./types";
|
|
4
4
|
/**
|
|
5
5
|
* 폴리곤 좌표 변환 (위경도 → 화면 좌표)
|
|
6
6
|
*
|
|
@@ -60,3 +60,36 @@ export declare const calculateTextBoxWidth: ({ text, fontConfig, padding, minWid
|
|
|
60
60
|
padding: number;
|
|
61
61
|
minWidth: number;
|
|
62
62
|
}) => number;
|
|
63
|
+
/**
|
|
64
|
+
* 서버 데이터를 CanvasData로 변환하는 헬퍼 함수
|
|
65
|
+
*
|
|
66
|
+
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우 (예: id, position 등),
|
|
67
|
+
* 이 함수를 사용하여 명시적으로 매핑할 수 있습니다.
|
|
68
|
+
*
|
|
69
|
+
* @template T 서버에서 받은 원본 데이터 타입
|
|
70
|
+
* @param serverData 서버에서 받은 원본 데이터
|
|
71
|
+
* @param canvasOptions CanvasOption 필드들 (충돌하는 필드는 여기서 명시적으로 지정)
|
|
72
|
+
* @returns CanvasData<T> 타입의 데이터
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* interface ServerData {
|
|
77
|
+
* id: number; // CanvasOption의 id와 충돌
|
|
78
|
+
* name: string;
|
|
79
|
+
* }
|
|
80
|
+
*
|
|
81
|
+
* const serverData: ServerData = { id: 123, name: "Test" };
|
|
82
|
+
*
|
|
83
|
+
* // ✅ 올바른 사용
|
|
84
|
+
* const canvasData = createCanvasData(serverData, {
|
|
85
|
+
* id: String(serverData.id), // 명시적으로 변환
|
|
86
|
+
* position: new Position(37.5, 127.0)
|
|
87
|
+
* });
|
|
88
|
+
*
|
|
89
|
+
* // canvasData는 CanvasData<ServerData> 타입이며:
|
|
90
|
+
* // - id: string (CanvasOption의 id)
|
|
91
|
+
* // - name: string (서버 데이터의 name)
|
|
92
|
+
* // - position: Position (CanvasOption의 position)
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function createCanvasData<T extends Record<string, any>>(serverData: T, canvasOptions: CanvasOption): CanvasData<T>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var tslib = require('tslib');
|
|
5
6
|
require('../../../types/MapDrawables.js');
|
|
6
7
|
var MapTypes = require('../../../types/MapTypes.js');
|
|
7
8
|
require('../../../types/MapEventTypes.js');
|
|
@@ -211,10 +212,49 @@ var calculateTextBoxWidth = function (_a) {
|
|
|
211
212
|
var textWidth = tempCtx.measureText(text).width;
|
|
212
213
|
return Math.max(minWidth, textWidth + padding);
|
|
213
214
|
};
|
|
215
|
+
/**
|
|
216
|
+
* 서버 데이터를 CanvasData로 변환하는 헬퍼 함수
|
|
217
|
+
*
|
|
218
|
+
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우 (예: id, position 등),
|
|
219
|
+
* 이 함수를 사용하여 명시적으로 매핑할 수 있습니다.
|
|
220
|
+
*
|
|
221
|
+
* @template T 서버에서 받은 원본 데이터 타입
|
|
222
|
+
* @param serverData 서버에서 받은 원본 데이터
|
|
223
|
+
* @param canvasOptions CanvasOption 필드들 (충돌하는 필드는 여기서 명시적으로 지정)
|
|
224
|
+
* @returns CanvasData<T> 타입의 데이터
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* interface ServerData {
|
|
229
|
+
* id: number; // CanvasOption의 id와 충돌
|
|
230
|
+
* name: string;
|
|
231
|
+
* }
|
|
232
|
+
*
|
|
233
|
+
* const serverData: ServerData = { id: 123, name: "Test" };
|
|
234
|
+
*
|
|
235
|
+
* // ✅ 올바른 사용
|
|
236
|
+
* const canvasData = createCanvasData(serverData, {
|
|
237
|
+
* id: String(serverData.id), // 명시적으로 변환
|
|
238
|
+
* position: new Position(37.5, 127.0)
|
|
239
|
+
* });
|
|
240
|
+
*
|
|
241
|
+
* // canvasData는 CanvasData<ServerData> 타입이며:
|
|
242
|
+
* // - id: string (CanvasOption의 id)
|
|
243
|
+
* // - name: string (서버 데이터의 name)
|
|
244
|
+
* // - position: Position (CanvasOption의 position)
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
function createCanvasData(serverData, canvasOptions) {
|
|
249
|
+
// 서버 데이터와 CanvasOption을 결합
|
|
250
|
+
// CanvasOption의 필드가 우선되므로 충돌하는 필드는 canvasOptions의 값이 사용됨
|
|
251
|
+
return tslib.__assign(tslib.__assign({}, serverData), canvasOptions);
|
|
252
|
+
}
|
|
214
253
|
|
|
215
254
|
exports.calculateTextBoxWidth = calculateTextBoxWidth;
|
|
216
255
|
exports.computeMarkerOffset = computeMarkerOffset;
|
|
217
256
|
exports.computePolygonOffsets = computePolygonOffsets;
|
|
257
|
+
exports.createCanvasData = createCanvasData;
|
|
218
258
|
exports.hexToRgba = hexToRgba;
|
|
219
259
|
exports.isPointInMarkerData = isPointInMarkerData;
|
|
220
260
|
exports.isPointInPolygon = isPointInPolygon;
|
package/dist/index.es.js
CHANGED
|
@@ -650,16 +650,6 @@ var css_248z$1 = ".MintMapCore-module_mint-map-root__SMfwn {\n position: relati
|
|
|
650
650
|
var styles$1 = {"mint-map-root":"MintMapCore-module_mint-map-root__SMfwn","mint-map-container":"MintMapCore-module_mint-map-container__8MIIr"};
|
|
651
651
|
styleInject(css_248z$1);
|
|
652
652
|
|
|
653
|
-
/**
|
|
654
|
-
* 캔버스 데이터 타입 Enum
|
|
655
|
-
*/
|
|
656
|
-
var CanvasDataType;
|
|
657
|
-
|
|
658
|
-
(function (CanvasDataType) {
|
|
659
|
-
CanvasDataType["MARKER"] = "MARKER";
|
|
660
|
-
CanvasDataType["POLYGON"] = "POLYGON";
|
|
661
|
-
})(CanvasDataType || (CanvasDataType = {}));
|
|
662
|
-
|
|
663
653
|
var Drawable =
|
|
664
654
|
/** @class */
|
|
665
655
|
function () {
|
|
@@ -998,6 +988,54 @@ var calculateTextBoxWidth = function (_a) {
|
|
|
998
988
|
var textWidth = tempCtx.measureText(text).width;
|
|
999
989
|
return Math.max(minWidth, textWidth + padding);
|
|
1000
990
|
};
|
|
991
|
+
/**
|
|
992
|
+
* 서버 데이터를 CanvasData로 변환하는 헬퍼 함수
|
|
993
|
+
*
|
|
994
|
+
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우 (예: id, position 등),
|
|
995
|
+
* 이 함수를 사용하여 명시적으로 매핑할 수 있습니다.
|
|
996
|
+
*
|
|
997
|
+
* @template T 서버에서 받은 원본 데이터 타입
|
|
998
|
+
* @param serverData 서버에서 받은 원본 데이터
|
|
999
|
+
* @param canvasOptions CanvasOption 필드들 (충돌하는 필드는 여기서 명시적으로 지정)
|
|
1000
|
+
* @returns CanvasData<T> 타입의 데이터
|
|
1001
|
+
*
|
|
1002
|
+
* @example
|
|
1003
|
+
* ```typescript
|
|
1004
|
+
* interface ServerData {
|
|
1005
|
+
* id: number; // CanvasOption의 id와 충돌
|
|
1006
|
+
* name: string;
|
|
1007
|
+
* }
|
|
1008
|
+
*
|
|
1009
|
+
* const serverData: ServerData = { id: 123, name: "Test" };
|
|
1010
|
+
*
|
|
1011
|
+
* // ✅ 올바른 사용
|
|
1012
|
+
* const canvasData = createCanvasData(serverData, {
|
|
1013
|
+
* id: String(serverData.id), // 명시적으로 변환
|
|
1014
|
+
* position: new Position(37.5, 127.0)
|
|
1015
|
+
* });
|
|
1016
|
+
*
|
|
1017
|
+
* // canvasData는 CanvasData<ServerData> 타입이며:
|
|
1018
|
+
* // - id: string (CanvasOption의 id)
|
|
1019
|
+
* // - name: string (서버 데이터의 name)
|
|
1020
|
+
* // - position: Position (CanvasOption의 position)
|
|
1021
|
+
* ```
|
|
1022
|
+
*/
|
|
1023
|
+
|
|
1024
|
+
function createCanvasData(serverData, canvasOptions) {
|
|
1025
|
+
// 서버 데이터와 CanvasOption을 결합
|
|
1026
|
+
// CanvasOption의 필드가 우선되므로 충돌하는 필드는 canvasOptions의 값이 사용됨
|
|
1027
|
+
return __assign(__assign({}, serverData), canvasOptions);
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
/**
|
|
1031
|
+
* 캔버스 데이터 타입 Enum
|
|
1032
|
+
*/
|
|
1033
|
+
var CanvasDataType;
|
|
1034
|
+
|
|
1035
|
+
(function (CanvasDataType) {
|
|
1036
|
+
CanvasDataType["MARKER"] = "MARKER";
|
|
1037
|
+
CanvasDataType["POLYGON"] = "POLYGON";
|
|
1038
|
+
})(CanvasDataType || (CanvasDataType = {}));
|
|
1001
1039
|
|
|
1002
1040
|
var WoongCanvasContext = createContext(null);
|
|
1003
1041
|
/**
|
|
@@ -9842,4 +9880,4 @@ function MintMap(_a) {
|
|
|
9842
9880
|
}), loading));
|
|
9843
9881
|
}
|
|
9844
9882
|
|
|
9845
|
-
export { AnimationPlayer, Bounds, CanvasDataType, CanvasMarker, CanvasMarkerClaude, CanvasMarkerHanquf, CircleMarker, DEFAULT_CULLING_MARGIN, DEFAULT_MAX_CACHE_SIZE, Drawable, GeoCalulator, GoogleMintMapController, LRUCache, MapBuildingProjection, MapCanvasMarkerWrapper, MapCanvasWrapper, MapControlWrapper, MapEvent, MapLoadingWithImage, MapMarkerWrapper, MapPolygonWrapper, MapPolylineWrapper, MapUIEvent, Marker, MintMap, MintMapCanvasRenderer, MintMapController, MintMapCore, MintMapProvider, NaverMintMapController, Offset, PointLoading, Polygon, PolygonCalculator, PolygonMarker, Polyline, Position, SPATIAL_GRID_CELL_SIZE, SVGCircle, SVGPolygon, SVGRect, Spacing, SpatialHashGrid, Status, WoongCanvasMarker, WoongCanvasPolygon, WoongCanvasProvider, buildSpatialIndex, calculateTextBoxWidth, computeMarkerOffset, computePolygonOffsets, createMapEventHandlers, getClusterInfo, getMapOfType, hexToRgba, isInViewport, isPointInMarkerData, isPointInPolygon, isPointInPolygonData, log, mapValuesToArray, syncExternalSelectedItems, syncSelectedItems, updateViewport, useMarkerMoving, useMintMapController, useWoongCanvasContext, validateEvent, waiting };
|
|
9883
|
+
export { AnimationPlayer, Bounds, CanvasDataType, CanvasMarker, CanvasMarkerClaude, CanvasMarkerHanquf, CircleMarker, DEFAULT_CULLING_MARGIN, DEFAULT_MAX_CACHE_SIZE, Drawable, GeoCalulator, GoogleMintMapController, LRUCache, MapBuildingProjection, MapCanvasMarkerWrapper, MapCanvasWrapper, MapControlWrapper, MapEvent, MapLoadingWithImage, MapMarkerWrapper, MapPolygonWrapper, MapPolylineWrapper, MapUIEvent, Marker, MintMap, MintMapCanvasRenderer, MintMapController, MintMapCore, MintMapProvider, NaverMintMapController, Offset, PointLoading, Polygon, PolygonCalculator, PolygonMarker, Polyline, Position, SPATIAL_GRID_CELL_SIZE, SVGCircle, SVGPolygon, SVGRect, Spacing, SpatialHashGrid, Status, WoongCanvasMarker, WoongCanvasPolygon, WoongCanvasProvider, buildSpatialIndex, calculateTextBoxWidth, computeMarkerOffset, computePolygonOffsets, createCanvasData, createMapEventHandlers, getClusterInfo, getMapOfType, hexToRgba, isInViewport, isPointInMarkerData, isPointInPolygon, isPointInPolygonData, log, mapValuesToArray, syncExternalSelectedItems, syncSelectedItems, updateViewport, useMarkerMoving, useMintMapController, useWoongCanvasContext, validateEvent, waiting };
|
package/dist/index.js
CHANGED
|
@@ -72,6 +72,7 @@ Object.defineProperty(exports, 'CanvasDataType', {
|
|
|
72
72
|
exports.calculateTextBoxWidth = utils.calculateTextBoxWidth;
|
|
73
73
|
exports.computeMarkerOffset = utils.computeMarkerOffset;
|
|
74
74
|
exports.computePolygonOffsets = utils.computePolygonOffsets;
|
|
75
|
+
exports.createCanvasData = utils.createCanvasData;
|
|
75
76
|
exports.hexToRgba = utils.hexToRgba;
|
|
76
77
|
exports.isPointInMarkerData = utils.isPointInMarkerData;
|
|
77
78
|
exports.isPointInPolygon = utils.isPointInPolygon;
|
package/dist/index.umd.js
CHANGED
|
@@ -654,16 +654,6 @@
|
|
|
654
654
|
var styles$1 = {"mint-map-root":"MintMapCore-module_mint-map-root__SMfwn","mint-map-container":"MintMapCore-module_mint-map-container__8MIIr"};
|
|
655
655
|
styleInject__default["default"](css_248z$1);
|
|
656
656
|
|
|
657
|
-
/**
|
|
658
|
-
* 캔버스 데이터 타입 Enum
|
|
659
|
-
*/
|
|
660
|
-
exports.CanvasDataType = void 0;
|
|
661
|
-
|
|
662
|
-
(function (CanvasDataType) {
|
|
663
|
-
CanvasDataType["MARKER"] = "MARKER";
|
|
664
|
-
CanvasDataType["POLYGON"] = "POLYGON";
|
|
665
|
-
})(exports.CanvasDataType || (exports.CanvasDataType = {}));
|
|
666
|
-
|
|
667
657
|
var Drawable =
|
|
668
658
|
/** @class */
|
|
669
659
|
function () {
|
|
@@ -1002,6 +992,54 @@
|
|
|
1002
992
|
var textWidth = tempCtx.measureText(text).width;
|
|
1003
993
|
return Math.max(minWidth, textWidth + padding);
|
|
1004
994
|
};
|
|
995
|
+
/**
|
|
996
|
+
* 서버 데이터를 CanvasData로 변환하는 헬퍼 함수
|
|
997
|
+
*
|
|
998
|
+
* 서버 데이터의 필드가 CanvasOption과 충돌하는 경우 (예: id, position 등),
|
|
999
|
+
* 이 함수를 사용하여 명시적으로 매핑할 수 있습니다.
|
|
1000
|
+
*
|
|
1001
|
+
* @template T 서버에서 받은 원본 데이터 타입
|
|
1002
|
+
* @param serverData 서버에서 받은 원본 데이터
|
|
1003
|
+
* @param canvasOptions CanvasOption 필드들 (충돌하는 필드는 여기서 명시적으로 지정)
|
|
1004
|
+
* @returns CanvasData<T> 타입의 데이터
|
|
1005
|
+
*
|
|
1006
|
+
* @example
|
|
1007
|
+
* ```typescript
|
|
1008
|
+
* interface ServerData {
|
|
1009
|
+
* id: number; // CanvasOption의 id와 충돌
|
|
1010
|
+
* name: string;
|
|
1011
|
+
* }
|
|
1012
|
+
*
|
|
1013
|
+
* const serverData: ServerData = { id: 123, name: "Test" };
|
|
1014
|
+
*
|
|
1015
|
+
* // ✅ 올바른 사용
|
|
1016
|
+
* const canvasData = createCanvasData(serverData, {
|
|
1017
|
+
* id: String(serverData.id), // 명시적으로 변환
|
|
1018
|
+
* position: new Position(37.5, 127.0)
|
|
1019
|
+
* });
|
|
1020
|
+
*
|
|
1021
|
+
* // canvasData는 CanvasData<ServerData> 타입이며:
|
|
1022
|
+
* // - id: string (CanvasOption의 id)
|
|
1023
|
+
* // - name: string (서버 데이터의 name)
|
|
1024
|
+
* // - position: Position (CanvasOption의 position)
|
|
1025
|
+
* ```
|
|
1026
|
+
*/
|
|
1027
|
+
|
|
1028
|
+
function createCanvasData(serverData, canvasOptions) {
|
|
1029
|
+
// 서버 데이터와 CanvasOption을 결합
|
|
1030
|
+
// CanvasOption의 필드가 우선되므로 충돌하는 필드는 canvasOptions의 값이 사용됨
|
|
1031
|
+
return tslib.__assign(tslib.__assign({}, serverData), canvasOptions);
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* 캔버스 데이터 타입 Enum
|
|
1036
|
+
*/
|
|
1037
|
+
exports.CanvasDataType = void 0;
|
|
1038
|
+
|
|
1039
|
+
(function (CanvasDataType) {
|
|
1040
|
+
CanvasDataType["MARKER"] = "MARKER";
|
|
1041
|
+
CanvasDataType["POLYGON"] = "POLYGON";
|
|
1042
|
+
})(exports.CanvasDataType || (exports.CanvasDataType = {}));
|
|
1005
1043
|
|
|
1006
1044
|
var WoongCanvasContext = React.createContext(null);
|
|
1007
1045
|
/**
|
|
@@ -9896,6 +9934,7 @@
|
|
|
9896
9934
|
exports.calculateTextBoxWidth = calculateTextBoxWidth;
|
|
9897
9935
|
exports.computeMarkerOffset = computeMarkerOffset;
|
|
9898
9936
|
exports.computePolygonOffsets = computePolygonOffsets;
|
|
9937
|
+
exports.createCanvasData = createCanvasData;
|
|
9899
9938
|
exports.createMapEventHandlers = createMapEventHandlers;
|
|
9900
9939
|
exports.getClusterInfo = getClusterInfo;
|
|
9901
9940
|
exports.getMapOfType = getMapOfType;
|