@mint-ui/map 1.2.0-test.21 → 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 -18
- 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 -85
- package/dist/index.umd.js +19 -85
- 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,27 +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.filter(function (item) {
|
|
475
|
-
return item && item.id !== hovered.id;
|
|
476
|
-
}),
|
|
477
|
-
selectedItem: selectedItem
|
|
478
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
479
|
-
|
|
469
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
480
470
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
481
471
|
|
|
482
472
|
if (isHoveredInViewport) {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
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
|
+
}
|
|
490
487
|
}
|
|
491
488
|
} else {
|
|
492
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,27 +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.filter(function (item) {
|
|
6401
|
-
return item && item.id !== hovered.id;
|
|
6402
|
-
}),
|
|
6403
|
-
selectedItem: selectedItem
|
|
6404
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
6405
|
-
|
|
6374
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
6406
6375
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
6407
6376
|
|
|
6408
6377
|
if (isHoveredInViewport) {
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
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
|
+
}
|
|
6416
6392
|
}
|
|
6417
6393
|
} else {
|
|
6418
6394
|
// topOnHover가 false이거나 hover된 항목이 없으면 일반 렌더링
|
|
@@ -7789,54 +7765,20 @@ function (_super) {
|
|
|
7789
7765
|
}
|
|
7790
7766
|
};
|
|
7791
7767
|
|
|
7792
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
7793
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7794
|
-
var parent_1 = marker.element.parentElement;
|
|
7795
|
-
|
|
7796
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
7797
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
7798
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
7799
|
-
}
|
|
7800
|
-
}
|
|
7801
|
-
|
|
7802
|
-
return undefined;
|
|
7803
|
-
};
|
|
7804
|
-
|
|
7805
7768
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
7806
7769
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7807
|
-
var
|
|
7770
|
+
var parent_1 = marker.element.parentElement;
|
|
7808
7771
|
|
|
7809
|
-
if (
|
|
7810
|
-
|
|
7772
|
+
if (parent_1) {
|
|
7773
|
+
parent_1.style.zIndex = String(zIndex);
|
|
7811
7774
|
}
|
|
7812
7775
|
}
|
|
7813
7776
|
};
|
|
7814
7777
|
|
|
7815
7778
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
7816
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
7817
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7818
|
-
return;
|
|
7819
|
-
}
|
|
7820
|
-
|
|
7821
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
7822
|
-
|
|
7823
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
7824
7779
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
7825
7780
|
};
|
|
7826
7781
|
|
|
7827
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
7828
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7829
|
-
if (this.markerOriginalZIndex === null) {
|
|
7830
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
7831
|
-
this.setMarkerZIndex(marker, 0);
|
|
7832
|
-
} else {
|
|
7833
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
7834
|
-
}
|
|
7835
|
-
|
|
7836
|
-
this.markerOriginalZIndex = undefined;
|
|
7837
|
-
}
|
|
7838
|
-
};
|
|
7839
|
-
|
|
7840
7782
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
7841
7783
|
var _a;
|
|
7842
7784
|
|
|
@@ -8591,10 +8533,6 @@ function (_super) {
|
|
|
8591
8533
|
}
|
|
8592
8534
|
};
|
|
8593
8535
|
|
|
8594
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
8595
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
8596
|
-
};
|
|
8597
|
-
|
|
8598
8536
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
8599
8537
|
if (drawable && drawable.native) {
|
|
8600
8538
|
if (drawable.native instanceof google.maps.Marker || drawable.native instanceof google.maps.Polygon || drawable.native instanceof google.maps.Polyline) {
|
|
@@ -9317,10 +9255,6 @@ function (_super) {
|
|
|
9317
9255
|
}
|
|
9318
9256
|
};
|
|
9319
9257
|
|
|
9320
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
9321
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
9322
|
-
};
|
|
9323
|
-
|
|
9324
9258
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
9325
9259
|
var _this = this;
|
|
9326
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,27 +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.filter(function (item) {
|
|
6405
|
-
return item && item.id !== hovered.id;
|
|
6406
|
-
}),
|
|
6407
|
-
selectedItem: selectedItem
|
|
6408
|
-
}); // 2. hover된 항목을 최상단에 렌더링
|
|
6409
|
-
|
|
6378
|
+
// hover된 항목만 최상단에 렌더링 (renderEvent 없이 직접 렌더링)
|
|
6410
6379
|
var isHoveredInViewport = enableViewportCulling ? isInViewport(hovered) : true;
|
|
6411
6380
|
|
|
6412
6381
|
if (isHoveredInViewport) {
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
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
|
+
}
|
|
6420
6396
|
}
|
|
6421
6397
|
} else {
|
|
6422
6398
|
// topOnHover가 false이거나 hover된 항목이 없으면 일반 렌더링
|
|
@@ -7793,54 +7769,20 @@
|
|
|
7793
7769
|
}
|
|
7794
7770
|
};
|
|
7795
7771
|
|
|
7796
|
-
NaverMintMapController.prototype.getCurrentZIndex = function (marker) {
|
|
7797
|
-
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7798
|
-
var parent_1 = marker.element.parentElement;
|
|
7799
|
-
|
|
7800
|
-
if (parent_1 && parent_1.style.zIndex) {
|
|
7801
|
-
var zIndex = Number(parent_1.style.zIndex);
|
|
7802
|
-
return isNaN(zIndex) ? undefined : zIndex;
|
|
7803
|
-
}
|
|
7804
|
-
}
|
|
7805
|
-
|
|
7806
|
-
return undefined;
|
|
7807
|
-
};
|
|
7808
|
-
|
|
7809
7772
|
NaverMintMapController.prototype.setMarkerZIndex = function (marker, zIndex) {
|
|
7810
7773
|
if (this.map && marker.element && marker.element instanceof HTMLElement) {
|
|
7811
|
-
var
|
|
7774
|
+
var parent_1 = marker.element.parentElement;
|
|
7812
7775
|
|
|
7813
|
-
if (
|
|
7814
|
-
|
|
7776
|
+
if (parent_1) {
|
|
7777
|
+
parent_1.style.zIndex = String(zIndex);
|
|
7815
7778
|
}
|
|
7816
7779
|
}
|
|
7817
7780
|
};
|
|
7818
7781
|
|
|
7819
7782
|
NaverMintMapController.prototype.markerToTheTop = function (marker) {
|
|
7820
|
-
// 이미 최상위로 올라간 상태면 (원래 zIndex가 이미 저장됨) 중복 실행 방지
|
|
7821
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7822
|
-
return;
|
|
7823
|
-
}
|
|
7824
|
-
|
|
7825
|
-
var currentZIndex = this.getCurrentZIndex(marker); // undefined면 null로 저장 (원래 zIndex가 없었음을 표시)
|
|
7826
|
-
|
|
7827
|
-
this.markerOriginalZIndex = currentZIndex !== undefined ? currentZIndex : null;
|
|
7828
7783
|
this.setMarkerZIndex(marker, this.getMaxZIndex(1));
|
|
7829
7784
|
};
|
|
7830
7785
|
|
|
7831
|
-
NaverMintMapController.prototype.restoreMarkerZIndex = function (marker) {
|
|
7832
|
-
if (this.markerOriginalZIndex !== undefined) {
|
|
7833
|
-
if (this.markerOriginalZIndex === null) {
|
|
7834
|
-
// 원래 zIndex가 없었으면 제거 (또는 초기값 0으로)
|
|
7835
|
-
this.setMarkerZIndex(marker, 0);
|
|
7836
|
-
} else {
|
|
7837
|
-
this.setMarkerZIndex(marker, this.markerOriginalZIndex);
|
|
7838
|
-
}
|
|
7839
|
-
|
|
7840
|
-
this.markerOriginalZIndex = undefined;
|
|
7841
|
-
}
|
|
7842
|
-
};
|
|
7843
|
-
|
|
7844
7786
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
7845
7787
|
var _a;
|
|
7846
7788
|
|
|
@@ -8595,10 +8537,6 @@
|
|
|
8595
8537
|
}
|
|
8596
8538
|
};
|
|
8597
8539
|
|
|
8598
|
-
GoogleMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Google Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
8599
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
8600
|
-
};
|
|
8601
|
-
|
|
8602
8540
|
GoogleMintMapController.prototype.clearDrawable = function (drawable) {
|
|
8603
8541
|
if (drawable && drawable.native) {
|
|
8604
8542
|
if (drawable.native instanceof google.maps.Marker || drawable.native instanceof google.maps.Polygon || drawable.native instanceof google.maps.Polyline) {
|
|
@@ -9321,10 +9259,6 @@
|
|
|
9321
9259
|
}
|
|
9322
9260
|
};
|
|
9323
9261
|
|
|
9324
|
-
KakaoMintMapController.prototype.restoreMarkerZIndex = function (marker) {// Kakao Maps에서는 restoreMarkerZIndex 기능을 지원하지 않습니다.
|
|
9325
|
-
// 이 기능은 Naver Maps에서만 사용 가능합니다.
|
|
9326
|
-
};
|
|
9327
|
-
|
|
9328
9262
|
KakaoMintMapController.prototype.clearDrawable = function (drawable) {
|
|
9329
9263
|
var _this = this;
|
|
9330
9264
|
|