@mint-ui/map 1.1.4 → 1.2.0-test.10
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/.vscode/settings.json +3 -3
- package/CLAUDE.md +100 -0
- package/README.md +7 -7
- package/dist/components/mint-map/core/MintMapController.d.ts +0 -1
- package/dist/components/mint-map/core/MintMapCore.js +6 -1
- package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerClaude.d.ts +63 -0
- package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerClaude.js +1084 -0
- package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerHanquf.d.ts +22 -0
- package/dist/components/mint-map/core/advanced/canvas/CanvasMarkerHanquf.js +413 -0
- package/dist/components/mint-map/core/advanced/canvas/index.d.ts +2 -0
- package/dist/components/mint-map/core/advanced/index.d.ts +1 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/ClusterMarker.d.ts +11 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/WoongKonvaMarker.d.ts +54 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/WoongKonvaMarker.js +1130 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/index.d.ts +3 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/context.d.ts +32 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/context.js +168 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/index.d.ts +4 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/performance.d.ts +161 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/performance.js +343 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/types.d.ts +131 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/types.js +14 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/utils.d.ts +31 -0
- package/dist/components/mint-map/core/advanced/woongCanvas/shared/utils.js +164 -0
- package/dist/components/mint-map/core/util/geohash.d.ts +2 -0
- package/dist/components/mint-map/core/util/geohash.js +125 -0
- package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +1 -22
- package/dist/components/mint-map/google/GoogleMintMapController.d.ts +0 -1
- package/dist/components/mint-map/google/GoogleMintMapController.js +5 -4
- package/dist/components/mint-map/kakao/KakaoMintMapController.d.ts +0 -1
- package/dist/components/mint-map/kakao/KakaoMintMapController.js +5 -4
- package/dist/components/mint-map/naver/NaverMintMapController.d.ts +0 -3
- package/dist/components/mint-map/naver/NaverMintMapController.js +8 -37
- package/dist/index.es.js +5232 -1964
- package/dist/index.js +26 -0
- package/dist/index.umd.js +5248 -1965
- package/dist/mock.d.ts +133 -0
- package/package.json +17 -4
- package/.claude/settings.local.json +0 -16
|
@@ -0,0 +1,125 @@
|
|
|
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;
|
|
@@ -172,7 +172,7 @@ function MapMarkerWrapper(_a) {
|
|
|
172
172
|
var onMouseOverHandler = function (e) {
|
|
173
173
|
var _a;
|
|
174
174
|
|
|
175
|
-
var marker = markerRef.current;
|
|
175
|
+
var marker = markerRef.current; //console.log('onMouseOverHandler', marker);
|
|
176
176
|
|
|
177
177
|
if (marker) {
|
|
178
178
|
var mouseOverHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseover');
|
|
@@ -185,25 +185,6 @@ function MapMarkerWrapper(_a) {
|
|
|
185
185
|
|
|
186
186
|
next && topOnHover && controller.markerToTheTop(marker);
|
|
187
187
|
}
|
|
188
|
-
}; // 20251014 | 장한별 | mouseleave 이벤트 추가, 마우스가 마커 위에서 떠날 때 원래 zindex 를 복구하기 위함
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
var onMouseLeaveHandler = function (e) {
|
|
192
|
-
var _a;
|
|
193
|
-
|
|
194
|
-
var marker = markerRef.current;
|
|
195
|
-
|
|
196
|
-
if (marker) {
|
|
197
|
-
var mouseOutHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseout');
|
|
198
|
-
var next = true;
|
|
199
|
-
|
|
200
|
-
if (mouseOutHandler) {
|
|
201
|
-
var hasNext = mouseOutHandler(e);
|
|
202
|
-
hasNext !== undefined && (next = hasNext);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
next && topOnHover && controller.restoreMarkerZIndex(marker);
|
|
206
|
-
}
|
|
207
188
|
}; //create object
|
|
208
189
|
|
|
209
190
|
|
|
@@ -221,12 +202,10 @@ function MapMarkerWrapper(_a) {
|
|
|
221
202
|
}); //드래그 여부 초기화를 먼저 수행하기 위해 capture : true 처리
|
|
222
203
|
|
|
223
204
|
divElement.addEventListener('mouseover', onMouseOverHandler);
|
|
224
|
-
divElement.addEventListener('mouseleave', onMouseLeaveHandler);
|
|
225
205
|
return function () {
|
|
226
206
|
divElement.removeEventListener('click', onClickHandler);
|
|
227
207
|
divElement.removeEventListener('mousedown', onMousedownHandler);
|
|
228
208
|
divElement.removeEventListener('mouseover', onMouseOverHandler);
|
|
229
|
-
divElement.removeEventListener('mouseleave', onMouseLeaveHandler);
|
|
230
209
|
|
|
231
210
|
if (markerRef.current) {
|
|
232
211
|
controller.clearDrawable(markerRef.current);
|
|
@@ -28,7 +28,6 @@ export declare class GoogleMintMapController extends MintMapController {
|
|
|
28
28
|
private getMaxZIndex;
|
|
29
29
|
setMarkerZIndex(marker: Marker, zIndex: number): void;
|
|
30
30
|
markerToTheTop(marker: Marker): void;
|
|
31
|
-
restoreMarkerZIndex(marker: Marker): void;
|
|
32
31
|
clearDrawable(drawable: Drawable): boolean;
|
|
33
32
|
private dragged;
|
|
34
33
|
isMapDragged(): boolean;
|
|
@@ -18,7 +18,12 @@ require('../core/util/animation.js');
|
|
|
18
18
|
require('../core/util/geo.js');
|
|
19
19
|
var polygon = require('../core/util/polygon.js');
|
|
20
20
|
require('../naver/NaverMintMapController.js');
|
|
21
|
+
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
21
22
|
require('../core/advanced/MapLoadingComponents.js');
|
|
23
|
+
require('../core/advanced/woongCanvas/WoongKonvaMarker.js');
|
|
24
|
+
require('../core/advanced/woongCanvas/shared/types.js');
|
|
25
|
+
require('../core/advanced/woongCanvas/shared/context.js');
|
|
26
|
+
require('../core/advanced/woongCanvas/shared/performance.js');
|
|
22
27
|
require('../core/wrapper/MapControlWrapper.js');
|
|
23
28
|
|
|
24
29
|
var GoogleMintMapController =
|
|
@@ -335,10 +340,6 @@ function (_super) {
|
|
|
335
340
|
}
|
|
336
341
|
};
|
|
337
342
|
|
|
338
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
339
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
340
|
-
};
|
|
341
|
-
|
|
342
343
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
343
344
|
if (drawable && drawable.native) {
|
|
344
345
|
if (drawable.native instanceof google.maps.Marker || drawable.native instanceof google.maps.Polygon || drawable.native instanceof google.maps.Polyline) {
|
|
@@ -31,7 +31,6 @@ export declare class KakaoMintMapController extends MintMapController {
|
|
|
31
31
|
private getMaxZIndex;
|
|
32
32
|
setMarkerZIndex(marker: Marker, zIndex: number): void;
|
|
33
33
|
markerToTheTop(marker: Marker): void;
|
|
34
|
-
restoreMarkerZIndex(marker: Marker): void;
|
|
35
34
|
clearDrawable(drawable: Drawable): boolean;
|
|
36
35
|
private dragged;
|
|
37
36
|
isMapDragged(): boolean;
|
|
@@ -19,7 +19,12 @@ require('../core/util/animation.js');
|
|
|
19
19
|
require('../core/util/geo.js');
|
|
20
20
|
var polygon = require('../core/util/polygon.js');
|
|
21
21
|
require('../naver/NaverMintMapController.js');
|
|
22
|
+
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
22
23
|
require('../core/advanced/MapLoadingComponents.js');
|
|
24
|
+
require('../core/advanced/woongCanvas/WoongKonvaMarker.js');
|
|
25
|
+
require('../core/advanced/woongCanvas/shared/types.js');
|
|
26
|
+
require('../core/advanced/woongCanvas/shared/context.js');
|
|
27
|
+
require('../core/advanced/woongCanvas/shared/performance.js');
|
|
23
28
|
require('../core/wrapper/MapControlWrapper.js');
|
|
24
29
|
|
|
25
30
|
var KakaoMintMapController =
|
|
@@ -343,10 +348,6 @@ function (_super) {
|
|
|
343
348
|
}
|
|
344
349
|
};
|
|
345
350
|
|
|
346
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
347
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
348
|
-
};
|
|
349
|
-
|
|
350
351
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
351
352
|
var _this = this;
|
|
352
353
|
|
|
@@ -27,12 +27,9 @@ export declare class NaverMintMapController extends MintMapController {
|
|
|
27
27
|
createMarker(marker: Marker): void;
|
|
28
28
|
updateMarker(marker: Marker, options: MarkerOptions): void;
|
|
29
29
|
private markerMaxZIndex;
|
|
30
|
-
private markerOriginalZIndex;
|
|
31
30
|
private getMaxZIndex;
|
|
32
|
-
private getCurrentZIndex;
|
|
33
31
|
setMarkerZIndex(marker: Marker, zIndex: number): void;
|
|
34
32
|
markerToTheTop(marker: Marker): void;
|
|
35
|
-
restoreMarkerZIndex(marker: Marker): void;
|
|
36
33
|
clearDrawable(drawable: Drawable): boolean;
|
|
37
34
|
private dragged;
|
|
38
35
|
isMapDragged(): boolean;
|
|
@@ -18,7 +18,12 @@ require('react-dom');
|
|
|
18
18
|
require('../core/util/animation.js');
|
|
19
19
|
require('../core/util/geo.js');
|
|
20
20
|
var polygon = require('../core/util/polygon.js');
|
|
21
|
+
require('../core/advanced/canvas/CanvasMarkerClaude.js');
|
|
21
22
|
require('../core/advanced/MapLoadingComponents.js');
|
|
23
|
+
require('../core/advanced/woongCanvas/WoongKonvaMarker.js');
|
|
24
|
+
require('../core/advanced/woongCanvas/shared/types.js');
|
|
25
|
+
require('../core/advanced/woongCanvas/shared/context.js');
|
|
26
|
+
require('../core/advanced/woongCanvas/shared/performance.js');
|
|
22
27
|
require('../core/wrapper/MapControlWrapper.js');
|
|
23
28
|
|
|
24
29
|
var NaverMintMapController =
|
|
@@ -335,54 +340,20 @@ function (_super) {
|
|
|
335
340
|
}
|
|
336
341
|
};
|
|
337
342
|
|
|
338
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
339
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
340
|
-
var parent_1 = marker.element.parentElement;
|
|
341
|
-
|
|
342
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
343
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
344
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
return undefined;
|
|
349
|
-
};
|
|
350
|
-
|
|
351
343
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
352
344
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
353
|
-
var
|
|
345
|
+
var parent_1 = marker.element.parentElement;
|
|
354
346
|
|
|
355
|
-
if (
|
|
356
|
-
|
|
347
|
+
if (parent_1) {
|
|
348
|
+
parent_1.style.zIndex = String(zIndex);
|
|
357
349
|
}
|
|
358
350
|
}
|
|
359
351
|
};
|
|
360
352
|
|
|
361
353
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
362
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
363
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
368
|
-
|
|
369
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
370
354
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
371
355
|
};
|
|
372
356
|
|
|
373
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
374
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
375
|
-
if (this.markerOriginalZIndex === null) {
|
|
376
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
377
|
-
this.setMarkerZIndex(marker, 0);
|
|
378
|
-
} else {
|
|
379
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
this.markerOriginalZIndex = undefined;
|
|
383
|
-
}
|
|
384
|
-
};
|
|
385
|
-
|
|
386
357
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
387
358
|
var _a;
|
|
388
359
|
|