@mint-ui/map 1.2.0-test.52 → 1.2.0-test.54
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/.eslintrc.js +11 -4
- package/.vscode/settings.json +32 -9
- package/dist/components/mint-map/core/MintMapCore.d.ts +2 -2
- package/dist/components/mint-map/core/MintMapCore.js +10 -14
- package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.d.ts +5 -5
- package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.js +75 -75
- package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/index.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/CanvasPolygonLayer.d.ts +22 -22
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/CanvasPolygonLayer.js +94 -84
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/index.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/renderer.d.ts +9 -9
- package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/renderer.js +81 -75
- package/dist/components/mint-map/core/advanced/index.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/shared/context.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/shared/context.js +14 -5
- package/dist/components/mint-map/core/advanced/shared/helpers.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/shared/helpers.js +2 -1
- package/dist/components/mint-map/core/advanced/shared/hooks.d.ts +18 -18
- package/dist/components/mint-map/core/advanced/shared/hooks.js +20 -13
- package/dist/components/mint-map/core/advanced/shared/index.d.ts +4 -4
- package/dist/components/mint-map/core/advanced/shared/performance.d.ts +1 -1
- package/dist/components/mint-map/core/advanced/shared/performance.js +7 -2
- package/dist/components/mint-map/core/advanced/shared/types.d.ts +2 -2
- package/dist/components/mint-map/core/advanced/shared/types.js +1 -0
- package/dist/components/mint-map/core/advanced/shared/utils.d.ts +6 -6
- package/dist/components/mint-map/core/advanced/shared/utils.js +19 -11
- package/dist/components/mint-map/core/advanced/shared/viewport.d.ts +4 -4
- package/dist/components/mint-map/core/advanced/shared/viewport.js +9 -8
- package/dist/components/mint-map/core/index.d.ts +6 -5
- package/dist/components/mint-map/google/GoogleMintMapController.js +9 -9
- package/dist/components/mint-map/index.d.ts +3 -2
- package/dist/components/mint-map/kakao/KakaoMintMapController.js +9 -9
- package/dist/components/mint-map/naver/NaverMintMapController.js +8 -8
- package/dist/index.es.js +6137 -6089
- package/dist/index.js +42 -42
- package/dist/index.umd.js +8454 -8406
- package/package.json +1 -1
|
@@ -15,7 +15,8 @@ require('../../../types/MapEventTypes.js');
|
|
|
15
15
|
* @returns 변환된 화면 좌표 배열 (4차원 배열) 또는 null
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
var computePolygonOffsets = function (
|
|
18
|
+
var computePolygonOffsets = function ( // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
polygonData, controller) {
|
|
19
20
|
var paths = polygonData.paths;
|
|
20
21
|
|
|
21
22
|
if (!paths || paths.type !== 'MultiPolygon' || !paths.coordinates) {
|
|
@@ -56,7 +57,8 @@ var computePolygonOffsets = function (polygonData, controller) {
|
|
|
56
57
|
* @returns 변환된 화면 좌표 또는 null
|
|
57
58
|
*/
|
|
58
59
|
|
|
59
|
-
var computeMarkerOffset = function (
|
|
60
|
+
var computeMarkerOffset = function ( // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
|
+
markerData, controller) {
|
|
60
62
|
if (!markerData.position) return null;
|
|
61
63
|
return controller.positionToOffset(markerData.position);
|
|
62
64
|
};
|
|
@@ -73,10 +75,10 @@ var isPointInPolygon = function (point, polygon) {
|
|
|
73
75
|
var inside = false;
|
|
74
76
|
|
|
75
77
|
for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
76
|
-
var xi = polygon[i][0]
|
|
77
|
-
|
|
78
|
-
var xj = polygon[j][0]
|
|
79
|
-
|
|
78
|
+
var xi = polygon[i][0];
|
|
79
|
+
var yi = polygon[i][1];
|
|
80
|
+
var xj = polygon[j][0];
|
|
81
|
+
var yj = polygon[j][1]; // 점의 y 좌표가 변의 양 끝점 사이에 있고, 교차점의 x 좌표가 점의 x 좌표보다 큰지 확인
|
|
80
82
|
|
|
81
83
|
var intersect = yi > point.y !== yj > point.y && point.x < (xj - xi) * (point.y - yi) / (yj - yi) + xi;
|
|
82
84
|
if (intersect) inside = !inside; // 교차할 때마다 inside 상태 토글
|
|
@@ -93,7 +95,9 @@ var isPointInPolygon = function (point, polygon) {
|
|
|
93
95
|
* @returns 점이 폴리곤 내부에 있으면 true
|
|
94
96
|
*/
|
|
95
97
|
|
|
96
|
-
var isPointInPolygonData = function (clickedOffset,
|
|
98
|
+
var isPointInPolygonData = function (clickedOffset, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
99
|
+
polygonData, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
100
|
+
getPolygonOffsets) {
|
|
97
101
|
var polygonOffsets = getPolygonOffsets(polygonData);
|
|
98
102
|
if (!polygonOffsets) return false; // 도넛 폴리곤 처리: 외부 폴리곤 내부에 있으면서 구멍(hole) 내부에 있지 않아야 함
|
|
99
103
|
|
|
@@ -158,7 +162,9 @@ var isPointInPolygonData = function (clickedOffset, polygonData, getPolygonOffse
|
|
|
158
162
|
* @returns 점이 마커 영역 내부에 있으면 true
|
|
159
163
|
*/
|
|
160
164
|
|
|
161
|
-
var isPointInMarkerData = function (clickedOffset,
|
|
165
|
+
var isPointInMarkerData = function (clickedOffset, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
166
|
+
markerData, // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
167
|
+
getMarkerOffset) {
|
|
162
168
|
var markerOffset = getMarkerOffset(markerData);
|
|
163
169
|
if (!markerOffset) return false;
|
|
164
170
|
var boxWidth = markerData.boxWidth || 50;
|
|
@@ -203,10 +209,10 @@ var tempCtx = tempCanvas.getContext('2d');
|
|
|
203
209
|
*/
|
|
204
210
|
|
|
205
211
|
var calculateTextBoxWidth = function (_a) {
|
|
206
|
-
var
|
|
207
|
-
|
|
212
|
+
var fontConfig = _a.fontConfig,
|
|
213
|
+
minWidth = _a.minWidth,
|
|
208
214
|
padding = _a.padding,
|
|
209
|
-
|
|
215
|
+
text = _a.text;
|
|
210
216
|
if (!tempCtx) return 0;
|
|
211
217
|
tempCtx.font = fontConfig;
|
|
212
218
|
var textWidth = tempCtx.measureText(text).width;
|
|
@@ -244,6 +250,7 @@ var calculateTextBoxWidth = function (_a) {
|
|
|
244
250
|
* // - position: Position (CanvasOption의 position)
|
|
245
251
|
* ```
|
|
246
252
|
*/
|
|
253
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
247
254
|
|
|
248
255
|
function createCanvasData(serverData, canvasOptions) {
|
|
249
256
|
// 서버 데이터와 CanvasOption을 결합
|
|
@@ -284,6 +291,7 @@ function createCanvasData(serverData, canvasOptions) {
|
|
|
284
291
|
* // canvasDataArray는 CanvasData<ServerData>[] 타입입니다
|
|
285
292
|
* ```
|
|
286
293
|
*/
|
|
294
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
287
295
|
|
|
288
296
|
function createCanvasDataArray(serverDataArray, getCanvasOptions) {
|
|
289
297
|
return serverDataArray.map(function (serverData, index) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MutableRefObject } from
|
|
2
|
-
import { CanvasData } from
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
import { CanvasData } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* 뷰포트 영역 (화면에 보이는 영역)
|
|
5
5
|
*/
|
|
@@ -26,8 +26,8 @@ export interface BoundingBox {
|
|
|
26
26
|
* @param viewportRef 뷰포트 경계를 저장할 ref
|
|
27
27
|
*/
|
|
28
28
|
export declare const updateViewport: (stage: {
|
|
29
|
-
width: () => number;
|
|
30
29
|
height: () => number;
|
|
30
|
+
width: () => number;
|
|
31
31
|
} | null, cullingMargin: number, viewportRef: MutableRefObject<ViewportBounds | null>) => void;
|
|
32
32
|
/**
|
|
33
33
|
* 아이템이 현재 뷰포트 안에 있는지 확인 (바운딩 박스 캐싱)
|
|
@@ -39,4 +39,4 @@ export declare const updateViewport: (stage: {
|
|
|
39
39
|
* @param computeBoundingBox 바운딩 박스 계산 함수
|
|
40
40
|
* @returns 뷰포트 안에 있으면 true
|
|
41
41
|
*/
|
|
42
|
-
export declare const isInViewport: <T>(
|
|
42
|
+
export declare const isInViewport: <T>(itemData: CanvasData<T>, viewportRef: MutableRefObject<ViewportBounds | null>, boundingBoxCacheRef: MutableRefObject<Map<string, BoundingBox>>, computeBoundingBox: (item: CanvasData<T>) => BoundingBox | null) => boolean;
|
|
@@ -10,12 +10,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
10
10
|
* @param viewportRef 뷰포트 경계를 저장할 ref
|
|
11
11
|
*/
|
|
12
12
|
var updateViewport = function (stage, cullingMargin, viewportRef) {
|
|
13
|
-
if (!stage) return;
|
|
13
|
+
if (!stage) return; // eslint-disable-next-line no-param-reassign
|
|
14
|
+
|
|
14
15
|
viewportRef.current = {
|
|
15
|
-
minX: -cullingMargin,
|
|
16
16
|
maxX: stage.width() + cullingMargin,
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
maxY: stage.height() + cullingMargin,
|
|
18
|
+
minX: -cullingMargin,
|
|
19
|
+
minY: -cullingMargin
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
@@ -29,18 +30,18 @@ var updateViewport = function (stage, cullingMargin, viewportRef) {
|
|
|
29
30
|
* @returns 뷰포트 안에 있으면 true
|
|
30
31
|
*/
|
|
31
32
|
|
|
32
|
-
var isInViewport = function (
|
|
33
|
+
var isInViewport = function (itemData, viewportRef, boundingBoxCacheRef, computeBoundingBox) {
|
|
33
34
|
if (!viewportRef.current) return true;
|
|
34
35
|
var viewport = viewportRef.current; // 캐시된 바운딩 박스 확인
|
|
35
36
|
|
|
36
|
-
var bbox = boundingBoxCacheRef.current.get(
|
|
37
|
+
var bbox = boundingBoxCacheRef.current.get(itemData.id);
|
|
37
38
|
|
|
38
39
|
if (!bbox) {
|
|
39
40
|
// 바운딩 박스 계산 (공통 함수 사용)
|
|
40
|
-
var computed = computeBoundingBox(
|
|
41
|
+
var computed = computeBoundingBox(itemData);
|
|
41
42
|
if (!computed) return false;
|
|
42
43
|
bbox = computed;
|
|
43
|
-
boundingBoxCacheRef.current.set(
|
|
44
|
+
boundingBoxCacheRef.current.set(itemData.id, bbox);
|
|
44
45
|
} // 바운딩 박스와 viewport 교차 체크
|
|
45
46
|
|
|
46
47
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
1
|
+
export * from './advanced';
|
|
2
|
+
export * from './hooks';
|
|
3
3
|
export * from './MintMapCanvasRenderer';
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
4
|
+
export * from './MintMapController';
|
|
5
|
+
export * from './MintMapCore';
|
|
6
|
+
export * from './provider';
|
|
7
7
|
export * from './util';
|
|
8
8
|
export * from './wrapper';
|
|
9
|
+
export { CanvasProvider, useCanvasContext } from './advanced/shared/context';
|
|
@@ -9,22 +9,22 @@ var MintMapController = require('../core/MintMapController.js');
|
|
|
9
9
|
var waiting = require('../core/util/waiting.js');
|
|
10
10
|
var MapEventTypes = require('../types/MapEventTypes.js');
|
|
11
11
|
var MapTypes = require('../types/MapTypes.js');
|
|
12
|
-
require('../core/MintMapCore.js');
|
|
13
12
|
require('react');
|
|
14
|
-
require('../types/MapDrawables.js');
|
|
15
13
|
require('../core/provider/MintMapProvider.js');
|
|
14
|
+
require('../types/MapDrawables.js');
|
|
16
15
|
require('react-dom');
|
|
17
|
-
require('../core/util/animation.js');
|
|
18
|
-
require('../core/util/geo.js');
|
|
19
|
-
var polygon = require('../core/util/polygon.js');
|
|
20
|
-
require('../naver/NaverMintMapController.js');
|
|
21
16
|
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
22
|
-
require('../core/advanced/MapLoadingComponents.js');
|
|
23
|
-
require('../core/advanced/shared/types.js');
|
|
24
|
-
require('../core/advanced/shared/utils.js');
|
|
25
17
|
require('../core/advanced/shared/context.js');
|
|
26
18
|
require('../core/advanced/shared/performance.js');
|
|
19
|
+
require('../core/advanced/shared/types.js');
|
|
20
|
+
require('../core/advanced/shared/utils.js');
|
|
27
21
|
require('konva');
|
|
22
|
+
require('../core/util/geo.js');
|
|
23
|
+
require('../core/util/animation.js');
|
|
24
|
+
require('../core/advanced/MapLoadingComponents.js');
|
|
25
|
+
var polygon = require('../core/util/polygon.js');
|
|
26
|
+
require('../naver/NaverMintMapController.js');
|
|
27
|
+
require('../core/MintMapCore.js');
|
|
28
28
|
require('../core/wrapper/MapControlWrapper.js');
|
|
29
29
|
|
|
30
30
|
var GoogleMintMapController =
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export * from './MintMap';
|
|
2
1
|
export * from './core';
|
|
3
|
-
export * from './naver/NaverMintMapController';
|
|
4
2
|
export * from './google/GoogleMintMapController';
|
|
3
|
+
export * from './MintMap';
|
|
4
|
+
export * from './naver/NaverMintMapController';
|
|
5
5
|
export * from './types';
|
|
6
|
+
export { CanvasProvider, useCanvasContext } from './core/advanced/shared/context';
|
|
@@ -10,22 +10,22 @@ var MapTypes = require('../types/MapTypes.js');
|
|
|
10
10
|
var MapEventTypes = require('../types/MapEventTypes.js');
|
|
11
11
|
var log = require('../core/util/log.js');
|
|
12
12
|
var status = require('../core/util/status.js');
|
|
13
|
-
require('../core/MintMapCore.js');
|
|
14
13
|
require('react');
|
|
15
|
-
require('../types/MapDrawables.js');
|
|
16
14
|
require('../core/provider/MintMapProvider.js');
|
|
15
|
+
require('../types/MapDrawables.js');
|
|
17
16
|
require('react-dom');
|
|
18
|
-
require('../core/util/animation.js');
|
|
19
|
-
require('../core/util/geo.js');
|
|
20
|
-
var polygon = require('../core/util/polygon.js');
|
|
21
|
-
require('../naver/NaverMintMapController.js');
|
|
22
17
|
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
23
|
-
require('../core/advanced/MapLoadingComponents.js');
|
|
24
|
-
require('../core/advanced/shared/types.js');
|
|
25
|
-
require('../core/advanced/shared/utils.js');
|
|
26
18
|
require('../core/advanced/shared/context.js');
|
|
27
19
|
require('../core/advanced/shared/performance.js');
|
|
20
|
+
require('../core/advanced/shared/types.js');
|
|
21
|
+
require('../core/advanced/shared/utils.js');
|
|
28
22
|
require('konva');
|
|
23
|
+
require('../core/util/geo.js');
|
|
24
|
+
require('../core/util/animation.js');
|
|
25
|
+
require('../core/advanced/MapLoadingComponents.js');
|
|
26
|
+
var polygon = require('../core/util/polygon.js');
|
|
27
|
+
require('../naver/NaverMintMapController.js');
|
|
28
|
+
require('../core/MintMapCore.js');
|
|
29
29
|
require('../core/wrapper/MapControlWrapper.js');
|
|
30
30
|
|
|
31
31
|
var KakaoMintMapController =
|
|
@@ -10,21 +10,21 @@ var MapTypes = require('../types/MapTypes.js');
|
|
|
10
10
|
var MapEventTypes = require('../types/MapEventTypes.js');
|
|
11
11
|
var log = require('../core/util/log.js');
|
|
12
12
|
var status = require('../core/util/status.js');
|
|
13
|
-
require('../core/MintMapCore.js');
|
|
14
13
|
require('react');
|
|
15
|
-
require('../types/MapDrawables.js');
|
|
16
14
|
require('../core/provider/MintMapProvider.js');
|
|
15
|
+
require('../types/MapDrawables.js');
|
|
17
16
|
require('react-dom');
|
|
18
|
-
require('../core/util/animation.js');
|
|
19
|
-
require('../core/util/geo.js');
|
|
20
|
-
var polygon = require('../core/util/polygon.js');
|
|
21
17
|
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
22
|
-
require('../core/advanced/MapLoadingComponents.js');
|
|
23
|
-
require('../core/advanced/shared/types.js');
|
|
24
|
-
require('../core/advanced/shared/utils.js');
|
|
25
18
|
require('../core/advanced/shared/context.js');
|
|
26
19
|
require('../core/advanced/shared/performance.js');
|
|
20
|
+
require('../core/advanced/shared/types.js');
|
|
21
|
+
require('../core/advanced/shared/utils.js');
|
|
27
22
|
require('konva');
|
|
23
|
+
require('../core/util/geo.js');
|
|
24
|
+
require('../core/util/animation.js');
|
|
25
|
+
require('../core/advanced/MapLoadingComponents.js');
|
|
26
|
+
var polygon = require('../core/util/polygon.js');
|
|
27
|
+
require('../core/MintMapCore.js');
|
|
28
28
|
require('../core/wrapper/MapControlWrapper.js');
|
|
29
29
|
|
|
30
30
|
var NaverMintMapController =
|