@mint-ui/map 0.1.6-beta → 0.1.7-beta
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/MintMap.d.ts +1 -0
- package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +2 -0
- package/dist/components/mint-map/naver/NaverMintMapController.d.ts +3 -0
- package/dist/components/mint-map/naver/NaverMintMapController.js +57 -19
- package/dist/index.es.js +59 -19
- package/dist/index.umd.js +62 -23
- package/package.json +2 -1
|
@@ -121,9 +121,11 @@ function MapMarkerWrapper(_a) {
|
|
|
121
121
|
React.useEffect(function () {
|
|
122
122
|
if (options) {
|
|
123
123
|
if (markerRef.current) {
|
|
124
|
+
console.log('update Marker');
|
|
124
125
|
controller.updateMarker(markerRef.current, options);
|
|
125
126
|
offsetCalibration(controller.getMapType(), divElement, options);
|
|
126
127
|
} else {
|
|
128
|
+
console.log('create Marker');
|
|
127
129
|
markerRef.current = new MintMap.Marker(options);
|
|
128
130
|
markerRef.current.element = divElement;
|
|
129
131
|
controller.createMarker(markerRef.current);
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/// <reference types="navermaps" />
|
|
2
2
|
import { MintMapController } from "../core/MintMapController";
|
|
3
3
|
import { Bounds, Drawable, MapType, MapVendorType, Marker, MarkerOptions, MintMapProps, Polygon, PolygonOptions, Polyline, PolylineOptions, Position } from "../MintMap";
|
|
4
|
+
import { ObjectPool } from '@mint-ui/tools';
|
|
4
5
|
export declare class NaverMintMapController extends MintMapController {
|
|
5
6
|
type: MapType;
|
|
6
7
|
map: naver.maps.Map | null;
|
|
7
8
|
scriptUrl: string;
|
|
8
9
|
scriptModules: string[];
|
|
10
|
+
markerPool?: ObjectPool<naver.maps.Marker>;
|
|
9
11
|
constructor(props: MintMapProps);
|
|
12
|
+
private initMarkerPool;
|
|
10
13
|
polylineEvents: string[];
|
|
11
14
|
createPolyline(polyline: Polyline): void;
|
|
12
15
|
updatePolyline(polyline: Polyline, options: PolylineOptions): void;
|
|
@@ -6,6 +6,7 @@ var tslib = require('tslib');
|
|
|
6
6
|
var MintMapController = require('../core/MintMapController.js');
|
|
7
7
|
var waiting = require('../core/util/waiting.js');
|
|
8
8
|
var MintMap = require('../MintMap.js');
|
|
9
|
+
var tools = require('@mint-ui/tools');
|
|
9
10
|
|
|
10
11
|
var NaverMintMapController = function (_super) {
|
|
11
12
|
tslib.__extends(NaverMintMapController, _super);
|
|
@@ -26,6 +27,20 @@ var NaverMintMapController = function (_super) {
|
|
|
26
27
|
return _this;
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
NaverMintMapController.prototype.initMarkerPool = function () {
|
|
31
|
+
var _this = this;
|
|
32
|
+
|
|
33
|
+
if (!this.mapProps.markerCache) return;
|
|
34
|
+
this.markerPool = new tools.ObjectPool().setFactory(function () {
|
|
35
|
+
return new naver.maps.Marker({
|
|
36
|
+
position: new MintMap.Position(0, 0),
|
|
37
|
+
map: _this.map || undefined
|
|
38
|
+
});
|
|
39
|
+
}).setClear(function (item) {
|
|
40
|
+
item.setMap(null);
|
|
41
|
+
}).createPool(1000).setCheckLiveTimeInterval(1000);
|
|
42
|
+
};
|
|
43
|
+
|
|
29
44
|
NaverMintMapController.prototype.createPolyline = function (polyline) {
|
|
30
45
|
var _this = this;
|
|
31
46
|
|
|
@@ -163,8 +178,19 @@ var NaverMintMapController = function (_super) {
|
|
|
163
178
|
content: marker.element,
|
|
164
179
|
anchor: marker.options.anchor
|
|
165
180
|
});
|
|
166
|
-
var naverMarker_1
|
|
167
|
-
|
|
181
|
+
var naverMarker_1;
|
|
182
|
+
|
|
183
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
184
|
+
naverMarker_1 = this.markerPool.getPoolItem();
|
|
185
|
+
naverMarker_1.setVisible(true);
|
|
186
|
+
options.icon && naverMarker_1.setIcon(options.icon);
|
|
187
|
+
marker.native = naverMarker_1;
|
|
188
|
+
this.updateMarker(marker, marker.options);
|
|
189
|
+
} else {
|
|
190
|
+
naverMarker_1 = new naver.maps.Marker(options);
|
|
191
|
+
marker.native = naverMarker_1;
|
|
192
|
+
}
|
|
193
|
+
|
|
168
194
|
((_a = marker.options) === null || _a === void 0 ? void 0 : _a.event) && marker.options.event.forEach(function (handler, key) {
|
|
169
195
|
if (_this.markerEvents.includes(key)) {
|
|
170
196
|
naver.maps.Event.addListener(naverMarker_1, key, handler);
|
|
@@ -178,26 +204,19 @@ var NaverMintMapController = function (_super) {
|
|
|
178
204
|
var map = marker.native.getMap();
|
|
179
205
|
|
|
180
206
|
if (map) {
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
visible: options.visible === undefined || options.visible
|
|
185
|
-
};
|
|
207
|
+
if (options.position && options.position instanceof MintMap.Position) {
|
|
208
|
+
marker.native.setPosition(options.position);
|
|
209
|
+
}
|
|
186
210
|
|
|
187
|
-
if (options.
|
|
188
|
-
|
|
189
|
-
anchor: options.anchor
|
|
190
|
-
});
|
|
211
|
+
if (options.visible !== undefined) {
|
|
212
|
+
marker.native.setVisible(options.visible);
|
|
191
213
|
}
|
|
192
214
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
position: options.position instanceof MintMap.Position ? options.position : marker.native.getPosition(),
|
|
196
|
-
visible: options.visible === undefined || options.visible,
|
|
197
|
-
icon: tslib.__assign(tslib.__assign({}, marker.native.getIcon()), {
|
|
215
|
+
if (options.anchor) {
|
|
216
|
+
marker.native.setIcon(tslib.__assign(tslib.__assign({}, marker.native.getIcon()), {
|
|
198
217
|
anchor: options.anchor
|
|
199
|
-
})
|
|
200
|
-
}
|
|
218
|
+
}));
|
|
219
|
+
}
|
|
201
220
|
}
|
|
202
221
|
}
|
|
203
222
|
};
|
|
@@ -241,8 +260,23 @@ var NaverMintMapController = function (_super) {
|
|
|
241
260
|
};
|
|
242
261
|
|
|
243
262
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
263
|
+
var _a;
|
|
264
|
+
|
|
244
265
|
if (drawable && drawable.native && drawable.native instanceof naver.maps.OverlayView) {
|
|
245
|
-
drawable.native.
|
|
266
|
+
if (drawable.native instanceof naver.maps.Marker) {
|
|
267
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
268
|
+
drawable.native.setVisible(false);
|
|
269
|
+
this.markerEvents.map(function (eName) {
|
|
270
|
+
drawable.native.clearListeners(eName);
|
|
271
|
+
});
|
|
272
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.releasePoolItem(drawable.native);
|
|
273
|
+
} else {
|
|
274
|
+
drawable.native.setMap(null);
|
|
275
|
+
}
|
|
276
|
+
} else {
|
|
277
|
+
drawable.native.setMap(null);
|
|
278
|
+
}
|
|
279
|
+
|
|
246
280
|
return true;
|
|
247
281
|
}
|
|
248
282
|
|
|
@@ -377,6 +411,7 @@ var NaverMintMapController = function (_super) {
|
|
|
377
411
|
});
|
|
378
412
|
this.map = map;
|
|
379
413
|
this.mapInitialized = true;
|
|
414
|
+
this.initMarkerPool();
|
|
380
415
|
console.log("".concat(this.type, " map script initialized"), divElement);
|
|
381
416
|
resolve(map);
|
|
382
417
|
return [2];
|
|
@@ -389,10 +424,13 @@ var NaverMintMapController = function (_super) {
|
|
|
389
424
|
};
|
|
390
425
|
|
|
391
426
|
NaverMintMapController.prototype.destroyMap = function () {
|
|
427
|
+
var _a;
|
|
428
|
+
|
|
392
429
|
console.log("".concat(this.type, " map destroyed"));
|
|
393
430
|
|
|
394
431
|
try {
|
|
395
432
|
this.map && this.map.destroy();
|
|
433
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
396
434
|
} catch (e) {
|
|
397
435
|
console.log('naver map destroy error', e);
|
|
398
436
|
}
|
package/dist/index.es.js
CHANGED
|
@@ -2,6 +2,7 @@ import { __awaiter, __generator, __extends, __spreadArray, __assign, __rest } fr
|
|
|
2
2
|
import React, { createContext, useContext, useRef, useState, useEffect } from 'react';
|
|
3
3
|
import classNames from 'classnames/bind';
|
|
4
4
|
import styleInject from 'style-inject';
|
|
5
|
+
import { ObjectPool } from '@mint-ui/tools';
|
|
5
6
|
import { createPortal } from 'react-dom';
|
|
6
7
|
|
|
7
8
|
var css_248z$2 = ".MintMap-module_loading-point-container__znk6l {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n}\n\n.MintMap-module_ani-blink__K89JK {\n animation: MintMap-module_blink__mqfeV infinite 0.6s;\n}\n\n@keyframes MintMap-module_blink__mqfeV {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0.3;\n }\n 100% {\n opacity: 1;\n }\n}\n.MintMap-module_ani-fade-in__lpHuy {\n animation: MintMap-module_fade-in__jHpv1 1s;\n}\n\n@keyframes MintMap-module_fade-in__jHpv1 {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n.MintMap-module_ani-fade-out__5-esw {\n animation: MintMap-module_fade-out__CIjGe 1s;\n}\n\n@keyframes MintMap-module_fade-out__CIjGe {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n}\n.MintMap-module_ani-expansion__S2vOZ {\n animation: MintMap-module_expansion__WMo5- ease 0.6s;\n}\n\n@keyframes MintMap-module_expansion__WMo5- {\n 0% {\n width: 0%;\n }\n 100% {\n width: 100%;\n }\n}";
|
|
@@ -340,6 +341,20 @@ var NaverMintMapController = function (_super) {
|
|
|
340
341
|
return _this;
|
|
341
342
|
}
|
|
342
343
|
|
|
344
|
+
NaverMintMapController.prototype.initMarkerPool = function () {
|
|
345
|
+
var _this = this;
|
|
346
|
+
|
|
347
|
+
if (!this.mapProps.markerCache) return;
|
|
348
|
+
this.markerPool = new ObjectPool().setFactory(function () {
|
|
349
|
+
return new naver.maps.Marker({
|
|
350
|
+
position: new Position(0, 0),
|
|
351
|
+
map: _this.map || undefined
|
|
352
|
+
});
|
|
353
|
+
}).setClear(function (item) {
|
|
354
|
+
item.setMap(null);
|
|
355
|
+
}).createPool(1000).setCheckLiveTimeInterval(1000);
|
|
356
|
+
};
|
|
357
|
+
|
|
343
358
|
NaverMintMapController.prototype.createPolyline = function (polyline) {
|
|
344
359
|
var _this = this;
|
|
345
360
|
|
|
@@ -477,8 +492,19 @@ var NaverMintMapController = function (_super) {
|
|
|
477
492
|
content: marker.element,
|
|
478
493
|
anchor: marker.options.anchor
|
|
479
494
|
});
|
|
480
|
-
var naverMarker_1
|
|
481
|
-
|
|
495
|
+
var naverMarker_1;
|
|
496
|
+
|
|
497
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
498
|
+
naverMarker_1 = this.markerPool.getPoolItem();
|
|
499
|
+
naverMarker_1.setVisible(true);
|
|
500
|
+
options.icon && naverMarker_1.setIcon(options.icon);
|
|
501
|
+
marker.native = naverMarker_1;
|
|
502
|
+
this.updateMarker(marker, marker.options);
|
|
503
|
+
} else {
|
|
504
|
+
naverMarker_1 = new naver.maps.Marker(options);
|
|
505
|
+
marker.native = naverMarker_1;
|
|
506
|
+
}
|
|
507
|
+
|
|
482
508
|
((_a = marker.options) === null || _a === void 0 ? void 0 : _a.event) && marker.options.event.forEach(function (handler, key) {
|
|
483
509
|
if (_this.markerEvents.includes(key)) {
|
|
484
510
|
naver.maps.Event.addListener(naverMarker_1, key, handler);
|
|
@@ -492,26 +518,19 @@ var NaverMintMapController = function (_super) {
|
|
|
492
518
|
var map = marker.native.getMap();
|
|
493
519
|
|
|
494
520
|
if (map) {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
visible: options.visible === undefined || options.visible
|
|
499
|
-
};
|
|
521
|
+
if (options.position && options.position instanceof Position) {
|
|
522
|
+
marker.native.setPosition(options.position);
|
|
523
|
+
}
|
|
500
524
|
|
|
501
|
-
if (options.
|
|
502
|
-
|
|
503
|
-
anchor: options.anchor
|
|
504
|
-
});
|
|
525
|
+
if (options.visible !== undefined) {
|
|
526
|
+
marker.native.setVisible(options.visible);
|
|
505
527
|
}
|
|
506
528
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
position: options.position instanceof Position ? options.position : marker.native.getPosition(),
|
|
510
|
-
visible: options.visible === undefined || options.visible,
|
|
511
|
-
icon: __assign(__assign({}, marker.native.getIcon()), {
|
|
529
|
+
if (options.anchor) {
|
|
530
|
+
marker.native.setIcon(__assign(__assign({}, marker.native.getIcon()), {
|
|
512
531
|
anchor: options.anchor
|
|
513
|
-
})
|
|
514
|
-
}
|
|
532
|
+
}));
|
|
533
|
+
}
|
|
515
534
|
}
|
|
516
535
|
}
|
|
517
536
|
};
|
|
@@ -555,8 +574,23 @@ var NaverMintMapController = function (_super) {
|
|
|
555
574
|
};
|
|
556
575
|
|
|
557
576
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
577
|
+
var _a;
|
|
578
|
+
|
|
558
579
|
if (drawable && drawable.native && drawable.native instanceof naver.maps.OverlayView) {
|
|
559
|
-
drawable.native.
|
|
580
|
+
if (drawable.native instanceof naver.maps.Marker) {
|
|
581
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
582
|
+
drawable.native.setVisible(false);
|
|
583
|
+
this.markerEvents.map(function (eName) {
|
|
584
|
+
drawable.native.clearListeners(eName);
|
|
585
|
+
});
|
|
586
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.releasePoolItem(drawable.native);
|
|
587
|
+
} else {
|
|
588
|
+
drawable.native.setMap(null);
|
|
589
|
+
}
|
|
590
|
+
} else {
|
|
591
|
+
drawable.native.setMap(null);
|
|
592
|
+
}
|
|
593
|
+
|
|
560
594
|
return true;
|
|
561
595
|
}
|
|
562
596
|
|
|
@@ -691,6 +725,7 @@ var NaverMintMapController = function (_super) {
|
|
|
691
725
|
});
|
|
692
726
|
this.map = map;
|
|
693
727
|
this.mapInitialized = true;
|
|
728
|
+
this.initMarkerPool();
|
|
694
729
|
console.log("".concat(this.type, " map script initialized"), divElement);
|
|
695
730
|
resolve(map);
|
|
696
731
|
return [2];
|
|
@@ -703,10 +738,13 @@ var NaverMintMapController = function (_super) {
|
|
|
703
738
|
};
|
|
704
739
|
|
|
705
740
|
NaverMintMapController.prototype.destroyMap = function () {
|
|
741
|
+
var _a;
|
|
742
|
+
|
|
706
743
|
console.log("".concat(this.type, " map destroyed"));
|
|
707
744
|
|
|
708
745
|
try {
|
|
709
746
|
this.map && this.map.destroy();
|
|
747
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
710
748
|
} catch (e) {
|
|
711
749
|
console.log('naver map destroy error', e);
|
|
712
750
|
}
|
|
@@ -1700,9 +1738,11 @@ function MapMarkerWrapper(_a) {
|
|
|
1700
1738
|
useEffect(function () {
|
|
1701
1739
|
if (options) {
|
|
1702
1740
|
if (markerRef.current) {
|
|
1741
|
+
console.log('update Marker');
|
|
1703
1742
|
controller.updateMarker(markerRef.current, options);
|
|
1704
1743
|
offsetCalibration(controller.getMapType(), divElement, options);
|
|
1705
1744
|
} else {
|
|
1745
|
+
console.log('create Marker');
|
|
1706
1746
|
markerRef.current = new Marker(options);
|
|
1707
1747
|
markerRef.current.element = divElement;
|
|
1708
1748
|
controller.createMarker(markerRef.current);
|
package/dist/index.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('tslib'), require('react'), require('classnames/bind'), require('style-inject'), require('react-dom')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'tslib', 'react', 'classnames/bind', 'style-inject', 'react-dom'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@mint-ui/map"] = {}, global.tslib, global.React, global.classNames, global.styleInject, global.reactDom));
|
|
5
|
-
})(this, (function (exports, tslib, React, classNames, styleInject, reactDom) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('tslib'), require('react'), require('classnames/bind'), require('style-inject'), require('@mint-ui/tools'), require('react-dom')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'tslib', 'react', 'classnames/bind', 'style-inject', '@mint-ui/tools', 'react-dom'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@mint-ui/map"] = {}, global.tslib, global.React, global.classNames, global.styleInject, global.tools, global.reactDom));
|
|
5
|
+
})(this, (function (exports, tslib, React, classNames, styleInject, tools, reactDom) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -346,6 +346,20 @@
|
|
|
346
346
|
return _this;
|
|
347
347
|
}
|
|
348
348
|
|
|
349
|
+
NaverMintMapController.prototype.initMarkerPool = function () {
|
|
350
|
+
var _this = this;
|
|
351
|
+
|
|
352
|
+
if (!this.mapProps.markerCache) return;
|
|
353
|
+
this.markerPool = new tools.ObjectPool().setFactory(function () {
|
|
354
|
+
return new naver.maps.Marker({
|
|
355
|
+
position: new Position(0, 0),
|
|
356
|
+
map: _this.map || undefined
|
|
357
|
+
});
|
|
358
|
+
}).setClear(function (item) {
|
|
359
|
+
item.setMap(null);
|
|
360
|
+
}).createPool(1000).setCheckLiveTimeInterval(1000);
|
|
361
|
+
};
|
|
362
|
+
|
|
349
363
|
NaverMintMapController.prototype.createPolyline = function (polyline) {
|
|
350
364
|
var _this = this;
|
|
351
365
|
|
|
@@ -483,8 +497,19 @@
|
|
|
483
497
|
content: marker.element,
|
|
484
498
|
anchor: marker.options.anchor
|
|
485
499
|
});
|
|
486
|
-
var naverMarker_1
|
|
487
|
-
|
|
500
|
+
var naverMarker_1;
|
|
501
|
+
|
|
502
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
503
|
+
naverMarker_1 = this.markerPool.getPoolItem();
|
|
504
|
+
naverMarker_1.setVisible(true);
|
|
505
|
+
options.icon && naverMarker_1.setIcon(options.icon);
|
|
506
|
+
marker.native = naverMarker_1;
|
|
507
|
+
this.updateMarker(marker, marker.options);
|
|
508
|
+
} else {
|
|
509
|
+
naverMarker_1 = new naver.maps.Marker(options);
|
|
510
|
+
marker.native = naverMarker_1;
|
|
511
|
+
}
|
|
512
|
+
|
|
488
513
|
((_a = marker.options) === null || _a === void 0 ? void 0 : _a.event) && marker.options.event.forEach(function (handler, key) {
|
|
489
514
|
if (_this.markerEvents.includes(key)) {
|
|
490
515
|
naver.maps.Event.addListener(naverMarker_1, key, handler);
|
|
@@ -498,26 +523,19 @@
|
|
|
498
523
|
var map = marker.native.getMap();
|
|
499
524
|
|
|
500
525
|
if (map) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
visible: options.visible === undefined || options.visible
|
|
505
|
-
};
|
|
526
|
+
if (options.position && options.position instanceof Position) {
|
|
527
|
+
marker.native.setPosition(options.position);
|
|
528
|
+
}
|
|
506
529
|
|
|
507
|
-
if (options.
|
|
508
|
-
|
|
509
|
-
anchor: options.anchor
|
|
510
|
-
});
|
|
530
|
+
if (options.visible !== undefined) {
|
|
531
|
+
marker.native.setVisible(options.visible);
|
|
511
532
|
}
|
|
512
533
|
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
position: options.position instanceof Position ? options.position : marker.native.getPosition(),
|
|
516
|
-
visible: options.visible === undefined || options.visible,
|
|
517
|
-
icon: tslib.__assign(tslib.__assign({}, marker.native.getIcon()), {
|
|
534
|
+
if (options.anchor) {
|
|
535
|
+
marker.native.setIcon(tslib.__assign(tslib.__assign({}, marker.native.getIcon()), {
|
|
518
536
|
anchor: options.anchor
|
|
519
|
-
})
|
|
520
|
-
}
|
|
537
|
+
}));
|
|
538
|
+
}
|
|
521
539
|
}
|
|
522
540
|
}
|
|
523
541
|
};
|
|
@@ -561,8 +579,23 @@
|
|
|
561
579
|
};
|
|
562
580
|
|
|
563
581
|
NaverMintMapController.prototype.clearDrawable = function (drawable) {
|
|
582
|
+
var _a;
|
|
583
|
+
|
|
564
584
|
if (drawable && drawable.native && drawable.native instanceof naver.maps.OverlayView) {
|
|
565
|
-
drawable.native.
|
|
585
|
+
if (drawable.native instanceof naver.maps.Marker) {
|
|
586
|
+
if (this.mapProps.markerCache && this.markerPool) {
|
|
587
|
+
drawable.native.setVisible(false);
|
|
588
|
+
this.markerEvents.map(function (eName) {
|
|
589
|
+
drawable.native.clearListeners(eName);
|
|
590
|
+
});
|
|
591
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.releasePoolItem(drawable.native);
|
|
592
|
+
} else {
|
|
593
|
+
drawable.native.setMap(null);
|
|
594
|
+
}
|
|
595
|
+
} else {
|
|
596
|
+
drawable.native.setMap(null);
|
|
597
|
+
}
|
|
598
|
+
|
|
566
599
|
return true;
|
|
567
600
|
}
|
|
568
601
|
|
|
@@ -697,6 +730,7 @@
|
|
|
697
730
|
});
|
|
698
731
|
this.map = map;
|
|
699
732
|
this.mapInitialized = true;
|
|
733
|
+
this.initMarkerPool();
|
|
700
734
|
console.log("".concat(this.type, " map script initialized"), divElement);
|
|
701
735
|
resolve(map);
|
|
702
736
|
return [2];
|
|
@@ -709,10 +743,13 @@
|
|
|
709
743
|
};
|
|
710
744
|
|
|
711
745
|
NaverMintMapController.prototype.destroyMap = function () {
|
|
746
|
+
var _a;
|
|
747
|
+
|
|
712
748
|
console.log("".concat(this.type, " map destroyed"));
|
|
713
749
|
|
|
714
750
|
try {
|
|
715
751
|
this.map && this.map.destroy();
|
|
752
|
+
(_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
716
753
|
} catch (e) {
|
|
717
754
|
console.log('naver map destroy error', e);
|
|
718
755
|
}
|
|
@@ -1706,9 +1743,11 @@
|
|
|
1706
1743
|
React.useEffect(function () {
|
|
1707
1744
|
if (options) {
|
|
1708
1745
|
if (markerRef.current) {
|
|
1746
|
+
console.log('update Marker');
|
|
1709
1747
|
controller.updateMarker(markerRef.current, options);
|
|
1710
1748
|
offsetCalibration(controller.getMapType(), divElement, options);
|
|
1711
1749
|
} else {
|
|
1750
|
+
console.log('create Marker');
|
|
1712
1751
|
markerRef.current = new Marker(options);
|
|
1713
1752
|
markerRef.current.element = divElement;
|
|
1714
1753
|
controller.createMarker(markerRef.current);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mint-ui/map",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7-beta",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"module": "./dist/index.es.js",
|
|
6
6
|
"browser": "./dist/index.umd.js",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@types/google.maps": "^3.50.5",
|
|
61
61
|
"@types/navermaps": "^3.6.1",
|
|
62
|
+
"@mint-ui/tools":"1.0.3",
|
|
62
63
|
"axios": "^1.2.0",
|
|
63
64
|
"classnames": "^2.3.1",
|
|
64
65
|
"style-inject": "^0.3.0",
|