@mint-ui/map 1.2.0-test.22 → 1.2.0-test.23
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/MintMapController.d.ts +0 -1
- package/dist/components/mint-map/core/advanced/woongCanvas/WoongCanvasLayer.js +15 -16
- 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 +0 -4
- package/dist/components/mint-map/kakao/KakaoMintMapController.d.ts +0 -1
- package/dist/components/mint-map/kakao/KakaoMintMapController.js +0 -4
- package/dist/components/mint-map/naver/NaverMintMapController.d.ts +0 -3
- package/dist/components/mint-map/naver/NaverMintMapController.js +3 -37
- package/dist/index.es.js +19 -83
- package/dist/index.umd.js +19 -83
- package/package.json +1 -1
|
@@ -24,7 +24,6 @@ export declare abstract class MintMapController {
|
|
|
24
24
|
abstract updateMarker(marker: Marker, options: MarkerOptions): void;
|
|
25
25
|
abstract clearDrawable(drawable: Drawable): boolean;
|
|
26
26
|
abstract markerToTheTop(marker: Marker): void;
|
|
27
|
-
abstract restoreMarkerZIndex(marker: Marker): void;
|
|
28
27
|
abstract isMapDragged(): boolean;
|
|
29
28
|
abstract setMapDragged(value: boolean): void;
|
|
30
29
|
abstract setMarkerZIndex(marker: Marker, zIndex: number): void;
|
|
@@ -466,25 +466,24 @@ var WoongCanvasLayer = function (props) {
|
|
|
466
466
|
var selectedItem = selectedItemRef.current; // topOnHover가 true이면 hover된 항목을 최상단에 렌더링
|
|
467
467
|
|
|
468
468
|
if (topOnHover && hovered) {
|
|
469
|
-
//
|
|
470
|
-
renderEvent({
|
|
471
|
-
ctx: ctx,
|
|
472
|
-
hoveredItem: null,
|
|
473
|
-
utils: renderUtils,
|
|
474
|
-
selectedItems: selectedItems,
|
|
475
|
-
selectedItem: selectedItem
|
|
476
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
477
|
-
|
|
469
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
478
470
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
479
471
|
|
|
480
472
|
if (isHoveredInViewport) {
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
473
|
+
// hover된 항목을 빨간색으로 직접 렌더링
|
|
474
|
+
var position = renderUtils.getOrComputeMarkerOffset(hovered);
|
|
475
|
+
|
|
476
|
+
if (position) {
|
|
477
|
+
ctx.save();
|
|
478
|
+
ctx.fillStyle = '#E53935';
|
|
479
|
+
ctx.strokeStyle = '#C62828';
|
|
480
|
+
ctx.lineWidth = 2;
|
|
481
|
+
ctx.beginPath();
|
|
482
|
+
ctx.arc(position.x, position.y, 10, 0, 2 * Math.PI);
|
|
483
|
+
ctx.fill();
|
|
484
|
+
ctx.stroke();
|
|
485
|
+
ctx.restore();
|
|
486
|
+
}
|
|
488
487
|
}
|
|
489
488
|
} else {
|
|
490
489
|
// topOnHover가 false이거나 hover된 항목이 없으면 일반 렌더링
|
|
@@ -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;
|
|
@@ -341,10 +341,6 @@ function (_super) {
|
|
|
341
341
|
}
|
|
342
342
|
};
|
|
343
343
|
|
|
344
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
345
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
346
|
-
};
|
|
347
|
-
|
|
348
344
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
349
345
|
if (drawable && drawable.native) {
|
|
350
346
|
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;
|
|
@@ -349,10 +349,6 @@ function (_super) {
|
|
|
349
349
|
}
|
|
350
350
|
};
|
|
351
351
|
|
|
352
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
353
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
354
|
-
};
|
|
355
|
-
|
|
356
352
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
357
353
|
var _this = this;
|
|
358
354
|
|
|
@@ -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;
|
|
@@ -341,54 +341,20 @@ function (_super) {
|
|
|
341
341
|
}
|
|
342
342
|
};
|
|
343
343
|
|
|
344
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
345
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
346
|
-
var parent_1 = marker.element.parentElement;
|
|
347
|
-
|
|
348
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
349
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
350
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
return undefined;
|
|
355
|
-
};
|
|
356
|
-
|
|
357
344
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
358
345
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
359
|
-
var
|
|
346
|
+
var parent_1 = marker.element.parentElement;
|
|
360
347
|
|
|
361
|
-
if (
|
|
362
|
-
|
|
348
|
+
if (parent_1) {
|
|
349
|
+
parent_1.style.zIndex = String(zIndex);
|
|
363
350
|
}
|
|
364
351
|
}
|
|
365
352
|
};
|
|
366
353
|
|
|
367
354
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
368
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
369
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
370
|
-
return;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
374
|
-
|
|
375
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
376
355
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
377
356
|
};
|
|
378
357
|
|
|
379
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
380
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
381
|
-
if (this.markerOriginalZIndex === null) {
|
|
382
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
383
|
-
this.setMarkerZIndex(marker, 0);
|
|
384
|
-
} else {
|
|
385
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
this.markerOriginalZIndex = undefined;
|
|
389
|
-
}
|
|
390
|
-
};
|
|
391
|
-
|
|
392
358
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
393
359
|
var _a;
|
|
394
360
|
|
package/dist/index.es.js
CHANGED
|
@@ -3327,7 +3327,7 @@ function MapMarkerWrapper(_a) {
|
|
|
3327
3327
|
var onMouseOverHandler = function (e) {
|
|
3328
3328
|
var _a;
|
|
3329
3329
|
|
|
3330
|
-
var marker = markerRef.current;
|
|
3330
|
+
var marker = markerRef.current; //console.log('onMouseOverHandler', marker);
|
|
3331
3331
|
|
|
3332
3332
|
if (marker) {
|
|
3333
3333
|
var mouseOverHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseover');
|
|
@@ -3340,25 +3340,6 @@ function MapMarkerWrapper(_a) {
|
|
|
3340
3340
|
|
|
3341
3341
|
next && topOnHover && controller.markerToTheTop(marker);
|
|
3342
3342
|
}
|
|
3343
|
-
}; // 20251014 | 장한별 | mouseleave 이벤트 추가, 마우스가 마커 위에서 떠날 때 원래 zindex 를 복구하기 위함
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
var onMouseLeaveHandler = function (e) {
|
|
3347
|
-
var _a;
|
|
3348
|
-
|
|
3349
|
-
var marker = markerRef.current;
|
|
3350
|
-
|
|
3351
|
-
if (marker) {
|
|
3352
|
-
var mouseOutHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseout');
|
|
3353
|
-
var next = true;
|
|
3354
|
-
|
|
3355
|
-
if (mouseOutHandler) {
|
|
3356
|
-
var hasNext = mouseOutHandler(e);
|
|
3357
|
-
hasNext !== undefined && (next = hasNext);
|
|
3358
|
-
}
|
|
3359
|
-
|
|
3360
|
-
next && topOnHover && controller.restoreMarkerZIndex(marker);
|
|
3361
|
-
}
|
|
3362
3343
|
}; //create object
|
|
3363
3344
|
|
|
3364
3345
|
|
|
@@ -3376,12 +3357,10 @@ function MapMarkerWrapper(_a) {
|
|
|
3376
3357
|
}); //드래그 여부 초기화를 먼저 수행하기 위해 capture : true 처리
|
|
3377
3358
|
|
|
3378
3359
|
divElement.addEventListener('mouseover', onMouseOverHandler);
|
|
3379
|
-
divElement.addEventListener('mouseleave', onMouseLeaveHandler);
|
|
3380
3360
|
return function () {
|
|
3381
3361
|
divElement.removeEventListener('click', onClickHandler);
|
|
3382
3362
|
divElement.removeEventListener('mousedown', onMousedownHandler);
|
|
3383
3363
|
divElement.removeEventListener('mouseover', onMouseOverHandler);
|
|
3384
|
-
divElement.removeEventListener('mouseleave', onMouseLeaveHandler);
|
|
3385
3364
|
|
|
3386
3365
|
if (markerRef.current) {
|
|
3387
3366
|
controller.clearDrawable(markerRef.current);
|
|
@@ -6392,25 +6371,24 @@ var WoongCanvasLayer = function (props) {
|
|
|
6392
6371
|
var selectedItem = selectedItemRef.current; // topOnHover가 true이면 hover된 항목을 최상단에 렌더링
|
|
6393
6372
|
|
|
6394
6373
|
if (topOnHover && hovered) {
|
|
6395
|
-
//
|
|
6396
|
-
renderEvent({
|
|
6397
|
-
ctx: ctx,
|
|
6398
|
-
hoveredItem: null,
|
|
6399
|
-
utils: renderUtils,
|
|
6400
|
-
selectedItems: selectedItems,
|
|
6401
|
-
selectedItem: selectedItem
|
|
6402
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
6403
|
-
|
|
6374
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
6404
6375
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
6405
6376
|
|
|
6406
6377
|
if (isHoveredInViewport) {
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6378
|
+
// hover된 항목을 빨간색으로 직접 렌더링
|
|
6379
|
+
var position = renderUtils.getOrComputeMarkerOffset(hovered);
|
|
6380
|
+
|
|
6381
|
+
if (position) {
|
|
6382
|
+
ctx.save();
|
|
6383
|
+
ctx.fillStyle = '#E53935';
|
|
6384
|
+
ctx.strokeStyle = '#C62828';
|
|
6385
|
+
ctx.lineWidth = 2;
|
|
6386
|
+
ctx.beginPath();
|
|
6387
|
+
ctx.arc(position.x, position.y, 10, 0, 2 * Math.PI);
|
|
6388
|
+
ctx.fill();
|
|
6389
|
+
ctx.stroke();
|
|
6390
|
+
ctx.restore();
|
|
6391
|
+
}
|
|
6414
6392
|
}
|
|
6415
6393
|
} else {
|
|
6416
6394
|
// topOnHover가 false이거나 hover된 항목이 없으면 일반 렌더링
|
|
@@ -7787,54 +7765,20 @@ function (_super) {
|
|
|
7787
7765
|
}
|
|
7788
7766
|
};
|
|
7789
7767
|
|
|
7790
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
7791
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7792
|
-
var parent_1 = marker.element.parentElement;
|
|
7793
|
-
|
|
7794
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
7795
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
7796
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
7797
|
-
}
|
|
7798
|
-
}
|
|
7799
|
-
|
|
7800
|
-
return undefined;
|
|
7801
|
-
};
|
|
7802
|
-
|
|
7803
7768
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
7804
7769
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7805
|
-
var
|
|
7770
|
+
var parent_1 = marker.element.parentElement;
|
|
7806
7771
|
|
|
7807
|
-
if (
|
|
7808
|
-
|
|
7772
|
+
if (parent_1) {
|
|
7773
|
+
parent_1.style.zIndex = String(zIndex);
|
|
7809
7774
|
}
|
|
7810
7775
|
}
|
|
7811
7776
|
};
|
|
7812
7777
|
|
|
7813
7778
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
7814
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
7815
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7816
|
-
return;
|
|
7817
|
-
}
|
|
7818
|
-
|
|
7819
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
7820
|
-
|
|
7821
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
7822
7779
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
7823
7780
|
};
|
|
7824
7781
|
|
|
7825
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
7826
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7827
|
-
if (this.markerOriginalZIndex === null) {
|
|
7828
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
7829
|
-
this.setMarkerZIndex(marker, 0);
|
|
7830
|
-
} else {
|
|
7831
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
7832
|
-
}
|
|
7833
|
-
|
|
7834
|
-
this.markerOriginalZIndex = undefined;
|
|
7835
|
-
}
|
|
7836
|
-
};
|
|
7837
|
-
|
|
7838
7782
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
7839
7783
|
var _a;
|
|
7840
7784
|
|
|
@@ -8589,10 +8533,6 @@ function (_super) {
|
|
|
8589
8533
|
}
|
|
8590
8534
|
};
|
|
8591
8535
|
|
|
8592
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
8593
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
8594
|
-
};
|
|
8595
|
-
|
|
8596
8536
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
8597
8537
|
if (drawable && drawable.native) {
|
|
8598
8538
|
if (drawable.native instanceof google.maps.Marker || drawable.native instanceof google.maps.Polygon || drawable.native instanceof google.maps.Polyline) {
|
|
@@ -9315,10 +9255,6 @@ function (_super) {
|
|
|
9315
9255
|
}
|
|
9316
9256
|
};
|
|
9317
9257
|
|
|
9318
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
9319
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
9320
|
-
};
|
|
9321
|
-
|
|
9322
9258
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
9323
9259
|
var _this = this;
|
|
9324
9260
|
|
package/dist/index.umd.js
CHANGED
|
@@ -3331,7 +3331,7 @@
|
|
|
3331
3331
|
var onMouseOverHandler = function (e) {
|
|
3332
3332
|
var _a;
|
|
3333
3333
|
|
|
3334
|
-
var marker = markerRef.current;
|
|
3334
|
+
var marker = markerRef.current; //console.log('onMouseOverHandler', marker);
|
|
3335
3335
|
|
|
3336
3336
|
if (marker) {
|
|
3337
3337
|
var mouseOverHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseover');
|
|
@@ -3344,25 +3344,6 @@
|
|
|
3344
3344
|
|
|
3345
3345
|
next && topOnHover && controller.markerToTheTop(marker);
|
|
3346
3346
|
}
|
|
3347
|
-
}; // 20251014 | 장한별 | mouseleave 이벤트 추가, 마우스가 마커 위에서 떠날 때 원래 zindex 를 복구하기 위함
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
var onMouseLeaveHandler = function (e) {
|
|
3351
|
-
var _a;
|
|
3352
|
-
|
|
3353
|
-
var marker = markerRef.current;
|
|
3354
|
-
|
|
3355
|
-
if (marker) {
|
|
3356
|
-
var mouseOutHandler = (_a = options === null || options === void 0 ? void 0 : options.event) === null || _a === void 0 ? void 0 : _a.get('mouseout');
|
|
3357
|
-
var next = true;
|
|
3358
|
-
|
|
3359
|
-
if (mouseOutHandler) {
|
|
3360
|
-
var hasNext = mouseOutHandler(e);
|
|
3361
|
-
hasNext !== undefined && (next = hasNext);
|
|
3362
|
-
}
|
|
3363
|
-
|
|
3364
|
-
next && topOnHover && controller.restoreMarkerZIndex(marker);
|
|
3365
|
-
}
|
|
3366
3347
|
}; //create object
|
|
3367
3348
|
|
|
3368
3349
|
|
|
@@ -3380,12 +3361,10 @@
|
|
|
3380
3361
|
}); //드래그 여부 초기화를 먼저 수행하기 위해 capture : true 처리
|
|
3381
3362
|
|
|
3382
3363
|
divElement.addEventListener('mouseover', onMouseOverHandler);
|
|
3383
|
-
divElement.addEventListener('mouseleave', onMouseLeaveHandler);
|
|
3384
3364
|
return function () {
|
|
3385
3365
|
divElement.removeEventListener('click', onClickHandler);
|
|
3386
3366
|
divElement.removeEventListener('mousedown', onMousedownHandler);
|
|
3387
3367
|
divElement.removeEventListener('mouseover', onMouseOverHandler);
|
|
3388
|
-
divElement.removeEventListener('mouseleave', onMouseLeaveHandler);
|
|
3389
3368
|
|
|
3390
3369
|
if (markerRef.current) {
|
|
3391
3370
|
controller.clearDrawable(markerRef.current);
|
|
@@ -6396,25 +6375,24 @@
|
|
|
6396
6375
|
var selectedItem = selectedItemRef.current; // topOnHover가 true이면 hover된 항목을 최상단에 렌더링
|
|
6397
6376
|
|
|
6398
6377
|
if (topOnHover && hovered) {
|
|
6399
|
-
//
|
|
6400
|
-
renderEvent({
|
|
6401
|
-
ctx: ctx,
|
|
6402
|
-
hoveredItem: null,
|
|
6403
|
-
utils: renderUtils,
|
|
6404
|
-
selectedItems: selectedItems,
|
|
6405
|
-
selectedItem: selectedItem
|
|
6406
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
6407
|
-
|
|
6378
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
6408
6379
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
6409
6380
|
|
|
6410
6381
|
if (isHoveredInViewport) {
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6382
|
+
// hover된 항목을 빨간색으로 직접 렌더링
|
|
6383
|
+
var position = renderUtils.getOrComputeMarkerOffset(hovered);
|
|
6384
|
+
|
|
6385
|
+
if (position) {
|
|
6386
|
+
ctx.save();
|
|
6387
|
+
ctx.fillStyle = '#E53935';
|
|
6388
|
+
ctx.strokeStyle = '#C62828';
|
|
6389
|
+
ctx.lineWidth = 2;
|
|
6390
|
+
ctx.beginPath();
|
|
6391
|
+
ctx.arc(position.x, position.y, 10, 0, 2 * Math.PI);
|
|
6392
|
+
ctx.fill();
|
|
6393
|
+
ctx.stroke();
|
|
6394
|
+
ctx.restore();
|
|
6395
|
+
}
|
|
6418
6396
|
}
|
|
6419
6397
|
} else {
|
|
6420
6398
|
// topOnHover가 false이거나 hover된 항목이 없으면 일반 렌더링
|
|
@@ -7791,54 +7769,20 @@
|
|
|
7791
7769
|
}
|
|
7792
7770
|
};
|
|
7793
7771
|
|
|
7794
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
7795
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7796
|
-
var parent_1 = marker.element.parentElement;
|
|
7797
|
-
|
|
7798
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
7799
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
7800
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
7801
|
-
}
|
|
7802
|
-
}
|
|
7803
|
-
|
|
7804
|
-
return undefined;
|
|
7805
|
-
};
|
|
7806
|
-
|
|
7807
7772
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
7808
7773
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7809
|
-
var
|
|
7774
|
+
var parent_1 = marker.element.parentElement;
|
|
7810
7775
|
|
|
7811
|
-
if (
|
|
7812
|
-
|
|
7776
|
+
if (parent_1) {
|
|
7777
|
+
parent_1.style.zIndex = String(zIndex);
|
|
7813
7778
|
}
|
|
7814
7779
|
}
|
|
7815
7780
|
};
|
|
7816
7781
|
|
|
7817
7782
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
7818
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
7819
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7820
|
-
return;
|
|
7821
|
-
}
|
|
7822
|
-
|
|
7823
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
7824
|
-
|
|
7825
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
7826
7783
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
7827
7784
|
};
|
|
7828
7785
|
|
|
7829
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
7830
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7831
|
-
if (this.markerOriginalZIndex === null) {
|
|
7832
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
7833
|
-
this.setMarkerZIndex(marker, 0);
|
|
7834
|
-
} else {
|
|
7835
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
7836
|
-
}
|
|
7837
|
-
|
|
7838
|
-
this.markerOriginalZIndex = undefined;
|
|
7839
|
-
}
|
|
7840
|
-
};
|
|
7841
|
-
|
|
7842
7786
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
7843
7787
|
var _a;
|
|
7844
7788
|
|
|
@@ -8593,10 +8537,6 @@
|
|
|
8593
8537
|
}
|
|
8594
8538
|
};
|
|
8595
8539
|
|
|
8596
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
8597
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
8598
|
-
};
|
|
8599
|
-
|
|
8600
8540
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
8601
8541
|
if (drawable && drawable.native) {
|
|
8602
8542
|
if (drawable.native instanceof google.maps.Marker || drawable.native instanceof google.maps.Polygon || drawable.native instanceof google.maps.Polyline) {
|
|
@@ -9319,10 +9259,6 @@
|
|
|
9319
9259
|
}
|
|
9320
9260
|
};
|
|
9321
9261
|
|
|
9322
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
9323
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
9324
|
-
};
|
|
9325
|
-
|
|
9326
9262
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
9327
9263
|
var _this = this;
|
|
9328
9264
|
|