@mint-ui/map 1.2.0-test.5 → 1.2.0-test.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CLAUDE.md +0 -1
  2. package/dist/components/mint-map/core/MintMapCore.js +5 -6
  3. package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.d.ts +47 -0
  4. package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/CanvasMarkerLayer.js +634 -0
  5. package/dist/components/mint-map/core/advanced/CanvasMarkerLayer/index.d.ts +3 -0
  6. package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/CanvasPolygonLayer.d.ts +252 -0
  7. package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/CanvasPolygonLayer.js +596 -0
  8. package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/index.d.ts +3 -0
  9. package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/renderer.d.ts +237 -0
  10. package/dist/components/mint-map/core/advanced/CanvasPolygonLayer/renderer.js +645 -0
  11. package/dist/components/mint-map/core/advanced/canvas/CanvasMarker.d.ts +7 -0
  12. package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerClaude.js +7 -7
  13. package/dist/components/mint-map/core/advanced/canvas/index.d.ts +0 -1
  14. package/dist/components/mint-map/core/advanced/index.d.ts +3 -1
  15. package/dist/components/mint-map/core/advanced/shared/context.d.ts +39 -0
  16. package/dist/components/mint-map/core/advanced/{woongCanvas/shared → shared}/context.js +62 -79
  17. package/dist/components/mint-map/core/advanced/shared/helpers.d.ts +20 -0
  18. package/dist/components/mint-map/core/advanced/shared/helpers.js +40 -0
  19. package/dist/components/mint-map/core/advanced/shared/hooks.d.ts +74 -0
  20. package/dist/components/mint-map/core/advanced/shared/hooks.js +189 -0
  21. package/dist/components/mint-map/core/advanced/{woongCanvas/shared → shared}/index.d.ts +3 -0
  22. package/dist/components/mint-map/core/advanced/shared/performance.d.ts +77 -0
  23. package/dist/components/mint-map/core/advanced/shared/performance.js +262 -0
  24. package/dist/components/mint-map/core/advanced/shared/types.d.ts +127 -0
  25. package/dist/components/mint-map/core/advanced/{woongCanvas/shared → shared}/types.js +5 -1
  26. package/dist/components/mint-map/core/advanced/shared/utils.d.ts +130 -0
  27. package/dist/components/mint-map/core/advanced/shared/utils.js +303 -0
  28. package/dist/components/mint-map/core/advanced/shared/viewport.d.ts +42 -0
  29. package/dist/components/mint-map/core/advanced/shared/viewport.js +51 -0
  30. package/dist/components/mint-map/google/GoogleMintMapController.js +5 -4
  31. package/dist/components/mint-map/kakao/KakaoMintMapController.js +5 -4
  32. package/dist/components/mint-map/naver/NaverMintMapController.js +5 -4
  33. package/dist/index.es.js +3233 -2687
  34. package/dist/index.js +25 -10
  35. package/dist/index.umd.js +3247 -2689
  36. package/package.json +1 -1
  37. package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerHanquf.d.ts +0 -22
  38. package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerHanquf.js +0 -413
  39. package/dist/components/mint-map/core/advanced/woongCanvas/ClusterMarker.d.ts +0 -11
  40. package/dist/components/mint-map/core/advanced/woongCanvas/WoongKonvaMarker.d.ts +0 -50
  41. package/dist/components/mint-map/core/advanced/woongCanvas/WoongKonvaMarker.js +0 -1065
  42. package/dist/components/mint-map/core/advanced/woongCanvas/index.d.ts +0 -3
  43. package/dist/components/mint-map/core/advanced/woongCanvas/shared/context.d.ts +0 -31
  44. package/dist/components/mint-map/core/advanced/woongCanvas/shared/performance.d.ts +0 -161
  45. package/dist/components/mint-map/core/advanced/woongCanvas/shared/performance.js +0 -343
  46. package/dist/components/mint-map/core/advanced/woongCanvas/shared/types.d.ts +0 -131
  47. package/dist/components/mint-map/core/advanced/woongCanvas/shared/utils.d.ts +0 -31
  48. package/dist/components/mint-map/core/advanced/woongCanvas/shared/utils.js +0 -164
  49. package/dist/components/mint-map/core/util/geohash.js +0 -125
@@ -1,164 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('../../../../types/MapDrawables.js');
6
- var MapTypes = require('../../../../types/MapTypes.js');
7
- require('../../../../types/MapEventTypes.js');
8
-
9
- /**
10
- * 폴리곤 offset 계산
11
- */
12
-
13
- var computePolygonOffsets = function (polygonData, controller) {
14
- var paths = polygonData.paths;
15
-
16
- if (!paths || paths.type !== 'MultiPolygon' || !paths.coordinates) {
17
- return null;
18
- }
19
-
20
- var result = [];
21
-
22
- for (var _i = 0, _a = paths.coordinates; _i < _a.length; _i++) {
23
- var multiPolygon = _a[_i];
24
- var multiPolygonOffsets = [];
25
-
26
- for (var _b = 0, multiPolygon_1 = multiPolygon; _b < multiPolygon_1.length; _b++) {
27
- var polygonGroup = multiPolygon_1[_b];
28
- var polygonOffsets = [];
29
-
30
- for (var _c = 0, polygonGroup_1 = polygonGroup; _c < polygonGroup_1.length; _c++) {
31
- var coord = polygonGroup_1[_c];
32
- var pos = new MapTypes.Position(coord[1], coord[0]);
33
- var offset = controller.positionToOffset(pos);
34
- polygonOffsets.push([offset.x, offset.y]);
35
- }
36
-
37
- multiPolygonOffsets.push(polygonOffsets);
38
- }
39
-
40
- result.push(multiPolygonOffsets);
41
- }
42
-
43
- return result;
44
- };
45
- /**
46
- * 마커 offset 계산
47
- */
48
-
49
- var computeMarkerOffset = function (markerData, controller) {
50
- if (!markerData.position) {
51
- return null;
52
- }
53
-
54
- return controller.positionToOffset(markerData.position);
55
- };
56
- /**
57
- * Point-in-Polygon 알고리즘
58
- */
59
-
60
- var isPointInPolygon = function (point, polygon) {
61
- var inside = false;
62
-
63
- for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
64
- var xi = polygon[i][0],
65
- yi = polygon[i][1];
66
- var xj = polygon[j][0],
67
- yj = polygon[j][1];
68
- var intersect = yi > point.y !== yj > point.y && point.x < (xj - xi) * (point.y - yi) / (yj - yi) + xi;
69
- if (intersect) inside = !inside;
70
- }
71
-
72
- return inside;
73
- };
74
- /**
75
- * 폴리곤 히트 테스트 (도넛 폴리곤 지원)
76
- *
77
- * 로직:
78
- * 1. 외부 폴리곤(첫 번째): 내부에 있어야 함
79
- * 2. 내부 구멍들(나머지): 내부에 있으면 안 됨 (evenodd 규칙)
80
- *
81
- * 중요: 도넛 폴리곤과 내부 폴리곤은 별개의 polygonData로 처리됨
82
- * - 도넛 폴리곤 A: isDonutPolygon=true
83
- * - 내부 폴리곤 B: isDonutPolygon=false (별도 데이터)
84
- */
85
-
86
- var isPointInPolygonData = function (clickedOffset, polygonData, getPolygonOffsets) {
87
- var polygonOffsets = getPolygonOffsets(polygonData);
88
- if (!polygonOffsets) return false; // 🍩 도넛 폴리곤 처리 (isDonutPolygon === true)
89
-
90
- if (polygonData.isDonutPolygon) {
91
- for (var _i = 0, polygonOffsets_1 = polygonOffsets; _i < polygonOffsets_1.length; _i++) {
92
- var multiPolygon = polygonOffsets_1[_i];
93
- if (multiPolygon.length === 0) continue; // 외부 폴리곤만 있는 경우 (구멍 없음) - 일반 폴리곤처럼 처리
94
-
95
- if (multiPolygon.length === 1) {
96
- if (isPointInPolygon(clickedOffset, multiPolygon[0])) {
97
- return true;
98
- }
99
-
100
- continue;
101
- } // 1. 외부 폴리곤(첫 번째)에 포함되는지 확인
102
-
103
-
104
- var outerPolygon = multiPolygon[0];
105
-
106
- if (!isPointInPolygon(clickedOffset, outerPolygon)) {
107
- continue; // 외부 폴리곤 밖이면 다음 multiPolygon 확인
108
- } // 2. 내부 구멍들(나머지)에 포함되는지 확인
109
-
110
-
111
- for (var i = 1; i < multiPolygon.length; i++) {
112
- var hole = multiPolygon[i];
113
-
114
- if (isPointInPolygon(clickedOffset, hole)) {
115
- // ❌ 구멍 안에 있음 → 이 도넛 폴리곤은 히트 안 됨
116
- // 다른 multiPolygon 체크하지 않고 바로 false 반환
117
- // (도넛 폴리곤의 구멍 안은 무조건 클릭 불가)
118
- return false;
119
- }
120
- } // ✅ 외부 폴리곤 안 + 구멍 밖 = 히트!
121
-
122
-
123
- return true;
124
- }
125
-
126
- return false;
127
- } // 일반 폴리곤 처리 (isDonutPolygon === false 또는 undefined)
128
-
129
-
130
- for (var _a = 0, polygonOffsets_2 = polygonOffsets; _a < polygonOffsets_2.length; _a++) {
131
- var multiPolygon = polygonOffsets_2[_a];
132
-
133
- for (var _b = 0, multiPolygon_2 = multiPolygon; _b < multiPolygon_2.length; _b++) {
134
- var polygonGroup = multiPolygon_2[_b];
135
- if (polygonGroup.length === 0) continue;
136
-
137
- if (isPointInPolygon(clickedOffset, polygonGroup)) {
138
- return true;
139
- }
140
- }
141
- }
142
-
143
- return false;
144
- };
145
- /**
146
- * 마커 히트 테스트
147
- */
148
-
149
- var isPointInMarkerData = function (clickedOffset, markerData, getMarkerOffset) {
150
- var markerOffset = getMarkerOffset(markerData);
151
- if (!markerOffset) return false;
152
- var boxWidth = markerData.boxWidth || 50;
153
- var boxHeight = markerData.boxHeight || 28;
154
- var tailHeight = 6;
155
- var x = markerOffset.x - boxWidth / 2;
156
- var y = markerOffset.y - boxHeight - tailHeight;
157
- return clickedOffset.x >= x && clickedOffset.x <= x + boxWidth && clickedOffset.y >= y && clickedOffset.y <= y + boxHeight;
158
- };
159
-
160
- exports.computeMarkerOffset = computeMarkerOffset;
161
- exports.computePolygonOffsets = computePolygonOffsets;
162
- exports.isPointInMarkerData = isPointInMarkerData;
163
- exports.isPointInPolygon = isPointInPolygon;
164
- exports.isPointInPolygonData = isPointInPolygonData;
@@ -1,125 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- // Lightweight Geohash encoder and neighbor utilities
6
- var BASE32 = '0123456789bcdefghjkmnpqrstuvwxyz';
7
- var NEIGHBORS = {
8
- n: {
9
- even: {
10
- border: 'prxz',
11
- neighbor: 'bc01fg45238967deuvhjyznpkmstqrwx'
12
- },
13
- odd: {
14
- border: 'bcfguvyz',
15
- neighbor: 'p0r21436x8zb9dcf5h7kjnmqesgutwvy'
16
- }
17
- },
18
- s: {
19
- even: {
20
- border: '028b',
21
- neighbor: '238967debc01fg45kmstqrwxuvhjyznp'
22
- },
23
- odd: {
24
- border: '0145hjnp',
25
- neighbor: '14365h7k9dcfesgujnmqp0r2twvyx8zb'
26
- }
27
- },
28
- e: {
29
- even: {
30
- border: 'bcfguvyz',
31
- neighbor: '14365h7k9dcfesgujnmqp0r2twvyx8zb'
32
- },
33
- odd: {
34
- border: 'prxz',
35
- neighbor: 'bc01fg45238967deuvhjyznpkmstqrwx'
36
- }
37
- },
38
- w: {
39
- even: {
40
- border: '0145hjnp',
41
- neighbor: '238967debc01fg45kmstqrwxuvhjyznp'
42
- },
43
- odd: {
44
- border: '028b',
45
- neighbor: 'p0r21436x8zb9dcf5h7kjnmqesgutwvy'
46
- }
47
- }
48
- };
49
- function geohashEncode(lat, lon, precision) {
50
- if (precision === void 0) {
51
- precision = 6;
52
- }
53
-
54
- var idx = 0;
55
- var bit = 0;
56
- var evenBit = true;
57
- var geohash = '';
58
- var latMin = -90,
59
- latMax = 90;
60
- var lonMin = -180,
61
- lonMax = 180;
62
-
63
- while (geohash.length < precision) {
64
- if (evenBit) {
65
- var lonMid = (lonMin + lonMax) / 2;
66
-
67
- if (lon >= lonMid) {
68
- idx = idx * 2 + 1;
69
- lonMin = lonMid;
70
- } else {
71
- idx = idx * 2;
72
- lonMax = lonMid;
73
- }
74
- } else {
75
- var latMid = (latMin + latMax) / 2;
76
-
77
- if (lat >= latMid) {
78
- idx = idx * 2 + 1;
79
- latMin = latMid;
80
- } else {
81
- idx = idx * 2;
82
- latMax = latMid;
83
- }
84
- }
85
-
86
- evenBit = !evenBit;
87
-
88
- if (++bit == 5) {
89
- geohash += BASE32.charAt(idx);
90
- bit = 0;
91
- idx = 0;
92
- }
93
- }
94
-
95
- return geohash;
96
- }
97
-
98
- function adjacent(hash, dir) {
99
- var lastChr = hash[hash.length - 1];
100
- var type = hash.length % 2 ? 'odd' : 'even'; // @ts-ignore
101
-
102
- var border = NEIGHBORS[dir][type].border; // @ts-ignore
103
-
104
- var neighbor = NEIGHBORS[dir][type].neighbor;
105
- var base = hash.substring(0, hash.length - 1);
106
-
107
- if (border.indexOf(lastChr) !== -1) {
108
- base = adjacent(base, dir);
109
- }
110
-
111
- var pos = neighbor.indexOf(lastChr);
112
- var nextChr = BASE32.charAt(pos);
113
- return base + nextChr;
114
- }
115
-
116
- function geohashNeighbors(hash) {
117
- var n = adjacent(hash, 'n');
118
- var s = adjacent(hash, 's');
119
- var e = adjacent(hash, 'e');
120
- var w = adjacent(hash, 'w');
121
- return [hash, n, s, e, w, adjacent(n, 'e'), adjacent(n, 'w'), adjacent(s, 'e'), adjacent(s, 'w')];
122
- }
123
-
124
- exports.geohashEncode = geohashEncode;
125
- exports.geohashNeighbors = geohashNeighbors;