@mint-ui/map 0.5.5-beta → 0.5.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.
Files changed (71) hide show
  1. package/.eslintrc.js +109 -109
  2. package/LICENSE +21 -21
  3. package/README.md +73 -73
  4. package/dist/components/mint-map/MintMap.d.ts +10 -10
  5. package/dist/components/mint-map/MintMap.js +6 -6
  6. package/dist/components/mint-map/core/MintMapCanvasRenderer.d.ts +4 -4
  7. package/dist/components/mint-map/core/MintMapController.d.ts +65 -64
  8. package/dist/components/mint-map/core/MintMapController.js +17 -9
  9. package/dist/components/mint-map/core/MintMapCore.d.ts +3 -3
  10. package/dist/components/mint-map/core/advanced/MapBuildingProjection.d.ts +15 -15
  11. package/dist/components/mint-map/core/advanced/MapLoadingComponents.d.ts +17 -17
  12. package/dist/components/mint-map/core/advanced/index.d.ts +3 -3
  13. package/dist/components/mint-map/core/advanced/shapes/CircleMarker.d.ts +20 -20
  14. package/dist/components/mint-map/core/advanced/shapes/CircleMarker.js +7 -6
  15. package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.d.ts +26 -23
  16. package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.js +7 -6
  17. package/dist/components/mint-map/core/advanced/shapes/base/SVGCircle.d.ts +8 -8
  18. package/dist/components/mint-map/core/advanced/shapes/base/SVGPolygon.d.ts +12 -12
  19. package/dist/components/mint-map/core/advanced/shapes/base/SVGRect.d.ts +10 -10
  20. package/dist/components/mint-map/core/advanced/shapes/base/index.d.ts +3 -3
  21. package/dist/components/mint-map/core/advanced/shapes/index.d.ts +3 -3
  22. package/dist/components/mint-map/core/hooks/MarkerMovingHook.d.ts +6 -6
  23. package/dist/components/mint-map/core/hooks/index.d.ts +1 -1
  24. package/dist/components/mint-map/core/index.d.ts +8 -8
  25. package/dist/components/mint-map/core/provider/MintMapProvider.d.ts +8 -8
  26. package/dist/components/mint-map/core/provider/index.d.ts +1 -1
  27. package/dist/components/mint-map/core/util/animation.d.ts +16 -16
  28. package/dist/components/mint-map/core/util/cluster.d.ts +18 -18
  29. package/dist/components/mint-map/core/util/geo.d.ts +38 -38
  30. package/dist/components/mint-map/core/util/index.d.ts +7 -5
  31. package/dist/components/mint-map/core/util/log.d.ts +1 -0
  32. package/dist/components/mint-map/core/util/log.js +18 -0
  33. package/dist/components/mint-map/core/util/polygon.d.ts +42 -40
  34. package/dist/components/mint-map/core/util/polygon.js +37 -8
  35. package/dist/components/mint-map/core/util/status.d.ts +9 -0
  36. package/dist/components/mint-map/core/util/status.js +58 -0
  37. package/dist/components/mint-map/core/util/waiting.d.ts +1 -1
  38. package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.d.ts +27 -27
  39. package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.js +6 -6
  40. package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.d.ts +11 -11
  41. package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.js +6 -6
  42. package/dist/components/mint-map/core/wrapper/MapControlWrapper.d.ts +18 -18
  43. package/dist/components/mint-map/core/wrapper/MapControlWrapper.js +6 -6
  44. package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.d.ts +42 -42
  45. package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +6 -6
  46. package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.d.ts +12 -12
  47. package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.js +6 -6
  48. package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.d.ts +12 -12
  49. package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.js +6 -6
  50. package/dist/components/mint-map/core/wrapper/index.d.ts +6 -6
  51. package/dist/components/mint-map/google/GoogleMintMapController.d.ts +51 -51
  52. package/dist/components/mint-map/google/GoogleMintMapController.js +8 -0
  53. package/dist/components/mint-map/index.d.ts +5 -5
  54. package/dist/components/mint-map/kakao/KakaoMintMapController.d.ts +56 -56
  55. package/dist/components/mint-map/kakao/KakaoMintMapController.js +14 -7
  56. package/dist/components/mint-map/naver/NaverMintMapController.d.ts +54 -54
  57. package/dist/components/mint-map/naver/NaverMintMapController.js +16 -9
  58. package/dist/components/mint-map/types/CommonTypes.d.ts +11 -11
  59. package/dist/components/mint-map/types/MapDrawables.d.ts +118 -110
  60. package/dist/components/mint-map/types/MapDrawables.js +8 -8
  61. package/dist/components/mint-map/types/MapEventTypes.d.ts +44 -44
  62. package/dist/components/mint-map/types/MapTypes.d.ts +60 -60
  63. package/dist/components/mint-map/types/MapTypes.js +13 -13
  64. package/dist/components/mint-map/types/MintMapEvents.d.ts +25 -25
  65. package/dist/components/mint-map/types/MintMapProps.d.ts +96 -92
  66. package/dist/components/mint-map/types/index.d.ts +6 -6
  67. package/dist/index.d.ts +7 -7
  68. package/dist/index.es.js +462 -349
  69. package/dist/index.js +4 -0
  70. package/dist/index.umd.js +462 -347
  71. package/package.json +77 -77
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
+ var log = require('../core/util/log.js');
7
+ var status = require('../core/util/status.js');
6
8
  var MintMapController = require('../core/MintMapController.js');
7
9
  var waiting = require('../core/util/waiting.js');
8
10
  var MapEventTypes = require('../types/MapEventTypes.js');
@@ -216,6 +218,8 @@ function (_super) {
216
218
  googleMarker_1 = new google.maps.Marker(options);
217
219
  }
218
220
 
221
+ log.log(this.mapProps.debug || marker.options.debug, marker.options.debugLabel, this.type + ' marker created');
222
+ status.Status.setMarker(1, marker.options.debugLabel);
219
223
  marker.native = googleMarker_1;
220
224
  ((_a = marker.options) === null || _a === void 0 ? void 0 : _a.event) && marker.options.event.forEach(function (handler, key) {
221
225
  if (_this.markerEvents.includes(key)) {
@@ -254,6 +258,8 @@ function (_super) {
254
258
  marker.native.position = options.position;
255
259
  }
256
260
  }
261
+
262
+ log.log(this.mapProps.debug || options.debug, marker.options.debugLabel, this.type + ' marker updated');
257
263
  }
258
264
  };
259
265
 
@@ -320,6 +326,8 @@ function (_super) {
320
326
  } else if (drawable.native instanceof google.maps.marker.AdvancedMarkerView) {
321
327
  google.maps.event.clearInstanceListeners(drawable.native);
322
328
  drawable.native.map = null;
329
+ log.log(this.mapProps.debug || drawable.options.debug, drawable.options.debugLabel, this.type + ' marker cleared');
330
+ status.Status.setMarker(-1, drawable.options.debugLabel);
323
331
  return true;
324
332
  }
325
333
  }
@@ -1,5 +1,5 @@
1
- export * from './MintMap';
2
- export * from './core';
3
- export * from './naver/NaverMintMapController';
4
- export * from './google/GoogleMintMapController';
5
- export * from './types';
1
+ export * from './MintMap';
2
+ export * from './core';
3
+ export * from './naver/NaverMintMapController';
4
+ export * from './google/GoogleMintMapController';
5
+ export * from './types';
@@ -1,56 +1,56 @@
1
- /// <reference types="kakaomaps" />
2
- import { MintMapController } from "../core/MintMapController";
3
- import { ObjectPool } from '@mint-ui/tools';
4
- import { MapType, MapVendorType } from "../types/CommonTypes";
5
- import { Drawable, Marker, MarkerOptions, Polygon, PolygonOptions, Polyline, PolylineOptions } from "../types/MapDrawables";
6
- import { Bounds, Position } from "../types/MapTypes";
7
- import { MintMapProps } from "../types/MintMapProps";
8
- import { EventCallback, EventParamType, MapEvent, MapEventName, MapUIEvent } from "../types/MapEventTypes";
9
- export declare class KakaoMintMapController extends MintMapController {
10
- type: MapType;
11
- map: kakao.maps.Map | null;
12
- scriptUrl: string;
13
- scriptModules: string[];
14
- protected mapEvent: MapEvent;
15
- protected mapUIEvent: MapUIEvent;
16
- markerPool?: ObjectPool<kakao.maps.CustomOverlay>;
17
- constructor(props: MintMapProps);
18
- private initMarkerPool;
19
- polylineEvents: string[];
20
- createPolyline(polyline: Polyline): void;
21
- updatePolyline(polyline: Polyline, options: PolylineOptions): void;
22
- polygonEvents: string[];
23
- createPolygon(polygon: Polygon): void;
24
- updatePolygon(polygon: Polygon, options: PolygonOptions): void;
25
- markerEvents: string[];
26
- createMarker(marker: Marker): void;
27
- updateMarker(marker: Marker, options: MarkerOptions): void;
28
- private removeParentElementsMargin;
29
- private markerMaxZIndex;
30
- private getMaxZIndex;
31
- setMarkerZIndex(marker: Marker, zIndex: number): void;
32
- markerToTheTop(marker: Marker): void;
33
- clearDrawable(drawable: Drawable): boolean;
34
- private dragStartPoint;
35
- private dragged;
36
- isMapDragged(): boolean;
37
- setMapDragged(value: boolean): void;
38
- private checkLoaded;
39
- loadMapApi(): Promise<boolean>;
40
- initializingMap(divElement: HTMLDivElement): Promise<MapVendorType>;
41
- private getSafeZoomValue;
42
- destroyMap(): void;
43
- getCurrBounds(): Bounds;
44
- panningTo(targetCenter: Position): void;
45
- getZoomLevel(): number;
46
- setZoomLevel(zoom: number): void;
47
- getCenter(): Position;
48
- setCenter(position: Position): void;
49
- private positionToLatLng;
50
- private latLngToPosition;
51
- private eventMap;
52
- addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
53
- removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
54
- removeAllEventListener(eventName?: MapEventName | undefined): void;
55
- private clearEventListener;
56
- }
1
+ /// <reference types="kakaomaps" />
2
+ import { MintMapController } from "../core/MintMapController";
3
+ import { ObjectPool } from '@mint-ui/tools';
4
+ import { MapType, MapVendorType } from "../types/CommonTypes";
5
+ import { Drawable, Marker, MarkerOptions, Polygon, PolygonOptions, Polyline, PolylineOptions } from "../types/MapDrawables";
6
+ import { Bounds, Position } from "../types/MapTypes";
7
+ import { MintMapProps } from "../types/MintMapProps";
8
+ import { EventCallback, EventParamType, MapEvent, MapEventName, MapUIEvent } from "../types/MapEventTypes";
9
+ export declare class KakaoMintMapController extends MintMapController {
10
+ type: MapType;
11
+ map: kakao.maps.Map | null;
12
+ scriptUrl: string;
13
+ scriptModules: string[];
14
+ protected mapEvent: MapEvent;
15
+ protected mapUIEvent: MapUIEvent;
16
+ markerPool?: ObjectPool<kakao.maps.CustomOverlay>;
17
+ constructor(props: MintMapProps);
18
+ private initMarkerPool;
19
+ polylineEvents: string[];
20
+ createPolyline(polyline: Polyline): void;
21
+ updatePolyline(polyline: Polyline, options: PolylineOptions): void;
22
+ polygonEvents: string[];
23
+ createPolygon(polygon: Polygon): void;
24
+ updatePolygon(polygon: Polygon, options: PolygonOptions): void;
25
+ markerEvents: string[];
26
+ createMarker(marker: Marker): void;
27
+ updateMarker(marker: Marker, options: MarkerOptions): void;
28
+ private removeParentElementsMargin;
29
+ private markerMaxZIndex;
30
+ private getMaxZIndex;
31
+ setMarkerZIndex(marker: Marker, zIndex: number): void;
32
+ markerToTheTop(marker: Marker): void;
33
+ clearDrawable(drawable: Drawable): boolean;
34
+ private dragStartPoint;
35
+ private dragged;
36
+ isMapDragged(): boolean;
37
+ setMapDragged(value: boolean): void;
38
+ private checkLoaded;
39
+ loadMapApi(): Promise<boolean>;
40
+ initializingMap(divElement: HTMLDivElement): Promise<MapVendorType>;
41
+ private getSafeZoomValue;
42
+ destroyMap(): void;
43
+ getCurrBounds(): Bounds;
44
+ panningTo(targetCenter: Position): void;
45
+ getZoomLevel(): number;
46
+ setZoomLevel(zoom: number): void;
47
+ getCenter(): Position;
48
+ setCenter(position: Position): void;
49
+ private positionToLatLng;
50
+ private latLngToPosition;
51
+ private eventMap;
52
+ addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
53
+ removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
54
+ removeAllEventListener(eventName?: MapEventName | undefined): void;
55
+ private clearEventListener;
56
+ }
@@ -8,6 +8,8 @@ var waiting = require('../core/util/waiting.js');
8
8
  var tools = require('@mint-ui/tools');
9
9
  var MapTypes = require('../types/MapTypes.js');
10
10
  var MapEventTypes = require('../types/MapEventTypes.js');
11
+ var log = require('../core/util/log.js');
12
+ var status = require('../core/util/status.js');
11
13
 
12
14
  var KakaoMintMapController =
13
15
  /** @class */
@@ -233,6 +235,8 @@ function (_super) {
233
235
  this.updateMarker(marker, marker.options);
234
236
  } else {
235
237
  kakaoMarker_1 = new kakao.maps.CustomOverlay(options);
238
+ log.log(this.mapProps.debug || marker.options.debug, marker.options.debugLabel, this.type + ' marker created');
239
+ status.Status.setMarker(1, marker.options.debugLabel);
236
240
  marker.options.visible !== undefined && kakaoMarker_1.setVisible(marker.options.visible);
237
241
  this.removeParentElementsMargin(marker);
238
242
  marker.native = kakaoMarker_1;
@@ -261,6 +265,7 @@ function (_super) {
261
265
  marker.native.setVisible(options.visible);
262
266
  }
263
267
 
268
+ log.log(this.mapProps.debug || options.debug, marker.options.debugLabel, this.type + ' marker updated');
264
269
  this.removeParentElementsMargin(marker);
265
270
  }
266
271
  }
@@ -333,6 +338,8 @@ function (_super) {
333
338
  (_a = this.markerPool) === null || _a === void 0 ? void 0 : _a.releasePoolItem(drawable.native);
334
339
  } else {
335
340
  drawable.native.setMap(null);
341
+ log.log(this.mapProps.debug || drawable.options.debug, drawable.options.debugLabel, this.type + ' marker cleared');
342
+ status.Status.setMarker(-1, drawable.options.debugLabel);
336
343
  }
337
344
  } else {
338
345
  drawable.native.setMap(null);
@@ -537,13 +544,13 @@ function (_super) {
537
544
  };
538
545
 
539
546
  KakaoMintMapController.prototype.getSafeZoomValue = function (value) {
540
- /**
541
- * 카카오는 구글/네이버와 다르게 줌레벨이 작아질수록 확대된다 (가장 확대된 것이 0)
542
- * - 가장 확대된 값 : 1
543
- * - 가장 축소된 값 : 14
544
- *
545
- * 그래서 세계지도가 없는 카카오는 동일한 사정인 네이버와 매핑하기로 한다.
546
- * 문제는 둘 간의 줌 레벨별 축척이 일치하지 않는다. 그래서 가장 유사한 레벨 끼리 매핑이 필요하다
547
+ /**
548
+ * 카카오는 구글/네이버와 다르게 줌레벨이 작아질수록 확대된다 (가장 확대된 것이 0)
549
+ * - 가장 확대된 값 : 1
550
+ * - 가장 축소된 값 : 14
551
+ *
552
+ * 그래서 세계지도가 없는 카카오는 동일한 사정인 네이버와 매핑하기로 한다.
553
+ * 문제는 둘 간의 줌 레벨별 축척이 일치하지 않는다. 그래서 가장 유사한 레벨 끼리 매핑이 필요하다
547
554
  */
548
555
  var mapValue = this.getBaseToMapZoom(value);
549
556
 
@@ -1,54 +1,54 @@
1
- /// <reference types="navermaps" />
2
- import { MintMapController } from "../core/MintMapController";
3
- import { ObjectPool } from '@mint-ui/tools';
4
- import { MapType, MapVendorType } from "../types/CommonTypes";
5
- import { Drawable, Marker, MarkerOptions, Polygon, PolygonOptions, Polyline, PolylineOptions } from "../types/MapDrawables";
6
- import { Bounds, Offset, Position } from "../types/MapTypes";
7
- import { MintMapProps } from "../types/MintMapProps";
8
- import { EventCallback, EventParamType, MapEvent, MapEventName, MapUIEvent } from "../types/MapEventTypes";
9
- export declare class NaverMintMapController extends MintMapController {
10
- type: MapType;
11
- map: naver.maps.Map | null;
12
- scriptUrl: string;
13
- scriptModules: string[];
14
- protected mapEvent: MapEvent;
15
- protected mapUIEvent: MapUIEvent;
16
- markerPool?: ObjectPool<naver.maps.Marker>;
17
- constructor(props: MintMapProps);
18
- private initMarkerPool;
19
- polylineEvents: string[];
20
- createPolyline(polyline: Polyline): void;
21
- updatePolyline(polyline: Polyline, options: PolylineOptions): void;
22
- polygonEvents: string[];
23
- createPolygon(polygon: Polygon): void;
24
- updatePolygon(polygon: Polygon, options: PolygonOptions): void;
25
- markerEvents: string[];
26
- createMarker(marker: Marker): void;
27
- updateMarker(marker: Marker, options: MarkerOptions): void;
28
- private markerMaxZIndex;
29
- private getMaxZIndex;
30
- setMarkerZIndex(marker: Marker, zIndex: number): void;
31
- markerToTheTop(marker: Marker): void;
32
- clearDrawable(drawable: Drawable): boolean;
33
- private dragStartPoint;
34
- private dragged;
35
- isMapDragged(): boolean;
36
- setMapDragged(value: boolean): void;
37
- private checkLoaded;
38
- loadMapApi(): Promise<boolean>;
39
- initializingMap(divElement: HTMLDivElement): Promise<MapVendorType>;
40
- private getSafeZoomValue;
41
- destroyMap(): void;
42
- getCurrBounds(): Bounds;
43
- panningTo(targetCenter: Position): void;
44
- getZoomLevel(): number;
45
- setZoomLevel(zoom: number): void;
46
- getCenter(): Position;
47
- setCenter(position: Position): void;
48
- naverPositionToOffset(position: Position): Offset;
49
- private eventMap;
50
- addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
51
- removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
52
- removeAllEventListener(eventName?: MapEventName | undefined): void;
53
- private clearEventListener;
54
- }
1
+ /// <reference types="navermaps" />
2
+ import { MintMapController } from "../core/MintMapController";
3
+ import { ObjectPool } from '@mint-ui/tools';
4
+ import { MapType, MapVendorType } from "../types/CommonTypes";
5
+ import { Drawable, Marker, MarkerOptions, Polygon, PolygonOptions, Polyline, PolylineOptions } from "../types/MapDrawables";
6
+ import { Bounds, Offset, Position } from "../types/MapTypes";
7
+ import { MintMapProps } from "../types/MintMapProps";
8
+ import { EventCallback, EventParamType, MapEvent, MapEventName, MapUIEvent } from "../types/MapEventTypes";
9
+ export declare class NaverMintMapController extends MintMapController {
10
+ type: MapType;
11
+ map: naver.maps.Map | null;
12
+ scriptUrl: string;
13
+ scriptModules: string[];
14
+ protected mapEvent: MapEvent;
15
+ protected mapUIEvent: MapUIEvent;
16
+ markerPool?: ObjectPool<naver.maps.Marker>;
17
+ constructor(props: MintMapProps);
18
+ private initMarkerPool;
19
+ polylineEvents: string[];
20
+ createPolyline(polyline: Polyline): void;
21
+ updatePolyline(polyline: Polyline, options: PolylineOptions): void;
22
+ polygonEvents: string[];
23
+ createPolygon(polygon: Polygon): void;
24
+ updatePolygon(polygon: Polygon, options: PolygonOptions): void;
25
+ markerEvents: string[];
26
+ createMarker(marker: Marker): void;
27
+ updateMarker(marker: Marker, options: MarkerOptions): void;
28
+ private markerMaxZIndex;
29
+ private getMaxZIndex;
30
+ setMarkerZIndex(marker: Marker, zIndex: number): void;
31
+ markerToTheTop(marker: Marker): void;
32
+ clearDrawable(drawable: Drawable): boolean;
33
+ private dragStartPoint;
34
+ private dragged;
35
+ isMapDragged(): boolean;
36
+ setMapDragged(value: boolean): void;
37
+ private checkLoaded;
38
+ loadMapApi(): Promise<boolean>;
39
+ initializingMap(divElement: HTMLDivElement): Promise<MapVendorType>;
40
+ private getSafeZoomValue;
41
+ destroyMap(): void;
42
+ getCurrBounds(): Bounds;
43
+ panningTo(targetCenter: Position): void;
44
+ getZoomLevel(): number;
45
+ setZoomLevel(zoom: number): void;
46
+ getCenter(): Position;
47
+ setCenter(position: Position): void;
48
+ naverPositionToOffset(position: Position): Offset;
49
+ private eventMap;
50
+ addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
51
+ removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
52
+ removeAllEventListener(eventName?: MapEventName | undefined): void;
53
+ private clearEventListener;
54
+ }
@@ -8,6 +8,8 @@ var waiting = require('../core/util/waiting.js');
8
8
  var tools = require('@mint-ui/tools');
9
9
  var MapTypes = require('../types/MapTypes.js');
10
10
  var MapEventTypes = require('../types/MapEventTypes.js');
11
+ var log = require('../core/util/log.js');
12
+ var status = require('../core/util/status.js');
11
13
 
12
14
  var NaverMintMapController =
13
15
  /** @class */
@@ -216,8 +218,7 @@ function (_super) {
216
218
  map: this.map,
217
219
  position: marker.options.position,
218
220
  visible: marker.options.visible === undefined || marker.options.visible
219
- }; //console.log('controller createMarker', marker.options);
220
-
221
+ };
221
222
  marker.element && (options.icon = {
222
223
  content: marker.element,
223
224
  anchor: marker.options.anchor
@@ -235,6 +236,8 @@ function (_super) {
235
236
  marker.native = naverMarker_1;
236
237
  }
237
238
 
239
+ log.log(this.mapProps.debug || marker.options.debug, marker.options.debugLabel, this.type + ' marker created');
240
+ status.Status.setMarker(1, marker.options.debugLabel);
238
241
  ((_a = marker.options) === null || _a === void 0 ? void 0 : _a.event) && marker.options.event.forEach(function (handler, key) {
239
242
  if (_this.markerEvents.includes(key)) {
240
243
  naver.maps.Event.addListener(naverMarker_1, key, handler);
@@ -249,11 +252,11 @@ function (_super) {
249
252
  var map = marker.native.getMap();
250
253
 
251
254
  if (map) {
252
- /** 중요!!!!
253
- * naver 마커의 setOption(MarkerOptions) 은 내부적으로 setMap 을 무조건 강제 처리한다!!!
254
- * setMap 을 처리하면 맵의 이벤트리스너 등등이 모두 초기화 되고 다시 맵을 add 하면서 마커관련된 모든 초기화가 다시 일어난다.
255
- * (심지어 map 이 기존과 같은 객체인데도 초기화 처리함)
256
- * 그래서 민트맵에서는 update 를 지원하는 항목별로 명시적으로 각각 처리한다.
255
+ /** 중요!!!!
256
+ * naver 마커의 setOption(MarkerOptions) 은 내부적으로 setMap 을 무조건 강제 처리한다!!!
257
+ * setMap 을 처리하면 맵의 이벤트리스너 등등이 모두 초기화 되고 다시 맵을 add 하면서 마커관련된 모든 초기화가 다시 일어난다.
258
+ * (심지어 map 이 기존과 같은 객체인데도 초기화 처리함)
259
+ * 그래서 민트맵에서는 update 를 지원하는 항목별로 명시적으로 각각 처리한다.
257
260
  */
258
261
  //Position
259
262
  if (options.position && options.position instanceof MapTypes.Position) {
@@ -268,7 +271,9 @@ function (_super) {
268
271
  marker.native.setIcon(tslib.__assign(tslib.__assign({}, marker.native.getIcon()), {
269
272
  anchor: options.anchor
270
273
  }));
271
- } // const newOption = {
274
+ }
275
+
276
+ log.log(this.mapProps.debug || options.debug, marker.options.debugLabel, this.type + ' marker updated'); // const newOption = {
272
277
  // map:map,
273
278
  // position:options.position instanceof Position?options.position:marker.native.getPosition(),
274
279
  // visible:options.visible === undefined || options.visible,
@@ -282,7 +287,6 @@ function (_super) {
282
287
  // visible:options.visible === undefined || options.visible,
283
288
  // icon:{...marker.native.getIcon(), anchor:options.anchor}
284
289
  // })
285
-
286
290
  }
287
291
  }
288
292
  };
@@ -340,6 +344,9 @@ function (_super) {
340
344
  } else {
341
345
  drawable.native.setMap(null);
342
346
  }
347
+
348
+ log.log(this.mapProps.debug || drawable.options.debug, drawable.options.debugLabel, this.type + ' marker cleared');
349
+ status.Status.setMarker(-1, drawable.options.debugLabel);
343
350
  } else {
344
351
  drawable.native.setMap(null);
345
352
  }
@@ -1,11 +1,11 @@
1
- /// <reference types="navermaps" />
2
- /// <reference types="google.maps" />
3
- /// <reference types="kakaomaps" />
4
- /**
5
- * 지원되는 맵 종류
6
- */
7
- export declare type MapType = 'naver' | 'google' | 'kakao';
8
- /**
9
- * 맵 객체의 native 타입
10
- */
11
- export declare type MapVendorType = naver.maps.Map | google.maps.Map | kakao.maps.Map;
1
+ /// <reference types="navermaps" />
2
+ /// <reference types="google.maps" />
3
+ /// <reference types="kakaomaps" />
4
+ /**
5
+ * 지원되는 맵 종류
6
+ */
7
+ export declare type MapType = 'naver' | 'google' | 'kakao';
8
+ /**
9
+ * 맵 객체의 native 타입
10
+ */
11
+ export declare type MapVendorType = naver.maps.Map | google.maps.Map | kakao.maps.Map;
@@ -1,110 +1,118 @@
1
- import { Offset, Position } from "./MapTypes";
2
- export interface DrawableOptions {
3
- /**
4
- * 좌표값
5
- */
6
- position: Position | Position[] | [number, number][];
7
- /**
8
- * 좌표값
9
- */
10
- visible?: boolean;
11
- /**
12
- * 이벤트 목록
13
- */
14
- event?: Map<keyof DocumentEventMap, (e: Event) => boolean | void>;
15
- }
16
- export declare abstract class Drawable {
17
- /**
18
- * 지도의 native drawable object
19
- */
20
- native?: any;
21
- /**
22
- * Drawable options
23
- */
24
- abstract options: DrawableOptions;
25
- }
26
- export interface MarkerOptions extends DrawableOptions {
27
- /**
28
- * 마커의 좌표와 Element 사이의 offset 값
29
- */
30
- anchor?: Offset;
31
- /**
32
- * zIndex 설정
33
- */
34
- zIndex?: number;
35
- }
36
- export declare class Marker extends Drawable {
37
- /**
38
- * Marker 의 옵션
39
- */
40
- options: MarkerOptions;
41
- /**
42
- * 커스텀 마커 Element
43
- */
44
- element?: string | HTMLElement;
45
- /**
46
- * 지도에 표시할 마커정보
47
- */
48
- constructor(options: MarkerOptions);
49
- }
50
- export interface PolylineOptions extends DrawableOptions {
51
- /**
52
- * 외곽선 색상
53
- * @description css 의 color 에 준함
54
- */
55
- lineColor?: string;
56
- /**
57
- * 외곽선 의 굵기
58
- * @description 픽셀
59
- */
60
- lineSize?: number;
61
- /**
62
- * 외곽선 의 투명도
63
- * @description 0.0과 1.0 사이의 불투명도
64
- */
65
- lineOpacity?: number;
66
- /**
67
- * 편집가능 여부
68
- */
69
- editable?: boolean;
70
- }
71
- export declare class Polyline extends Drawable {
72
- /**
73
- * Polygon 의 옵션
74
- */
75
- options: PolylineOptions;
76
- /**
77
- * 지도에 표시할 폴리곤정보
78
- */
79
- constructor(options: PolylineOptions);
80
- }
81
- export interface PolygonOptions extends PolylineOptions {
82
- /**
83
- * 폴리곤 외곽선의 내부 다각형 position
84
- */
85
- innerPositions?: Position[][];
86
- /**
87
- * 면의 배경색
88
- * @description css 의 color 에 준함
89
- */
90
- fillColor?: string;
91
- /**
92
- * 면의 투명도
93
- * @description 0~1 의 값
94
- */
95
- fillOpacity?: number;
96
- }
97
- export declare class Polygon extends Drawable {
98
- /**
99
- * Polygon 의 옵션
100
- */
101
- options: PolygonOptions;
102
- /**
103
- * 지도에 표시할 폴리곤정보
104
- */
105
- constructor(options: PolygonOptions);
106
- /**
107
- * 폴리곤의 중점을 구한다.
108
- */
109
- getCenter(): Position;
110
- }
1
+ import { Offset, Position } from "./MapTypes";
2
+ export interface DrawableOptions {
3
+ /**
4
+ * 좌표값
5
+ */
6
+ position: Position | Position[] | [number, number][];
7
+ /**
8
+ * 좌표값
9
+ */
10
+ visible?: boolean;
11
+ /**
12
+ * 이벤트 목록
13
+ */
14
+ event?: Map<keyof DocumentEventMap, (e: Event) => boolean | void>;
15
+ /**
16
+ * 디버그
17
+ */
18
+ debug?: boolean;
19
+ /**
20
+ * 디버그상의 label
21
+ */
22
+ debugLabel?: string;
23
+ }
24
+ export declare abstract class Drawable {
25
+ /**
26
+ * 지도의 native drawable object
27
+ */
28
+ native?: any;
29
+ /**
30
+ * Drawable options
31
+ */
32
+ abstract options: DrawableOptions;
33
+ }
34
+ export interface MarkerOptions extends DrawableOptions {
35
+ /**
36
+ * 마커의 좌표와 Element 사이의 offset
37
+ */
38
+ anchor?: Offset;
39
+ /**
40
+ * zIndex 설정
41
+ */
42
+ zIndex?: number;
43
+ }
44
+ export declare class Marker extends Drawable {
45
+ /**
46
+ * Marker 옵션
47
+ */
48
+ options: MarkerOptions;
49
+ /**
50
+ * 커스텀 마커 Element
51
+ */
52
+ element?: string | HTMLElement;
53
+ /**
54
+ * 지도에 표시할 마커정보
55
+ */
56
+ constructor(options: MarkerOptions);
57
+ }
58
+ export interface PolylineOptions extends DrawableOptions {
59
+ /**
60
+ * 외곽선 의 색상
61
+ * @description css 의 color 에 준함
62
+ */
63
+ lineColor?: string;
64
+ /**
65
+ * 외곽선 의 굵기
66
+ * @description 픽셀
67
+ */
68
+ lineSize?: number;
69
+ /**
70
+ * 외곽선 의 투명도
71
+ * @description 0.0과 1.0 사이의 불투명도
72
+ */
73
+ lineOpacity?: number;
74
+ /**
75
+ * 편집가능 여부
76
+ */
77
+ editable?: boolean;
78
+ }
79
+ export declare class Polyline extends Drawable {
80
+ /**
81
+ * Polygon 옵션
82
+ */
83
+ options: PolylineOptions;
84
+ /**
85
+ * 지도에 표시할 폴리곤정보
86
+ */
87
+ constructor(options: PolylineOptions);
88
+ }
89
+ export interface PolygonOptions extends PolylineOptions {
90
+ /**
91
+ * 폴리곤 외곽선의 내부 다각형 position
92
+ */
93
+ innerPositions?: Position[][];
94
+ /**
95
+ * 면의 배경색
96
+ * @description css 의 color 에 준함
97
+ */
98
+ fillColor?: string;
99
+ /**
100
+ * 면의 투명도
101
+ * @description 0~1 의 값
102
+ */
103
+ fillOpacity?: number;
104
+ }
105
+ export declare class Polygon extends Drawable {
106
+ /**
107
+ * Polygon 옵션
108
+ */
109
+ options: PolygonOptions;
110
+ /**
111
+ * 지도에 표시할 폴리곤정보
112
+ */
113
+ constructor(options: PolygonOptions);
114
+ /**
115
+ * 폴리곤의 중점을 구한다.
116
+ */
117
+ getCenter(): Position;
118
+ }