@mint-ui/map 0.10.0-beta-test2 → 1.0.0

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 (74) hide show
  1. package/.eslintrc.js +109 -109
  2. package/LICENSE +21 -21
  3. package/README.md +81 -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 +70 -70
  8. package/dist/components/mint-map/core/MintMapController.js +9 -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/canvas/CanvasMarker.d.ts +18 -18
  13. package/dist/components/mint-map/core/advanced/canvas/CanvasMarker.js +0 -1
  14. package/dist/components/mint-map/core/advanced/canvas/draw/canvas-util.d.ts +5 -5
  15. package/dist/components/mint-map/core/advanced/canvas/index.d.ts +1 -1
  16. package/dist/components/mint-map/core/advanced/index.d.ts +4 -4
  17. package/dist/components/mint-map/core/advanced/shapes/CircleMarker.d.ts +22 -22
  18. package/dist/components/mint-map/core/advanced/shapes/CircleMarker.js +6 -6
  19. package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.d.ts +28 -28
  20. package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.js +6 -6
  21. package/dist/components/mint-map/core/advanced/shapes/base/SVGCircle.d.ts +8 -8
  22. package/dist/components/mint-map/core/advanced/shapes/base/SVGPolygon.d.ts +12 -12
  23. package/dist/components/mint-map/core/advanced/shapes/base/SVGRect.d.ts +10 -10
  24. package/dist/components/mint-map/core/advanced/shapes/base/index.d.ts +3 -3
  25. package/dist/components/mint-map/core/advanced/shapes/index.d.ts +3 -3
  26. package/dist/components/mint-map/core/hooks/MarkerMovingHook.d.ts +6 -6
  27. package/dist/components/mint-map/core/hooks/index.d.ts +1 -1
  28. package/dist/components/mint-map/core/index.d.ts +8 -8
  29. package/dist/components/mint-map/core/provider/MintMapProvider.d.ts +8 -8
  30. package/dist/components/mint-map/core/provider/index.d.ts +1 -2
  31. package/dist/components/mint-map/core/util/animation.d.ts +16 -16
  32. package/dist/components/mint-map/core/util/cluster.d.ts +18 -18
  33. package/dist/components/mint-map/core/util/geo.d.ts +38 -38
  34. package/dist/components/mint-map/core/util/index.d.ts +8 -8
  35. package/dist/components/mint-map/core/util/log.d.ts +1 -1
  36. package/dist/components/mint-map/core/util/map.d.ts +2 -2
  37. package/dist/components/mint-map/core/util/polygon.d.ts +42 -42
  38. package/dist/components/mint-map/core/util/status.d.ts +9 -9
  39. package/dist/components/mint-map/core/util/waiting.d.ts +1 -1
  40. package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.d.ts +27 -27
  41. package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.js +6 -6
  42. package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.d.ts +11 -11
  43. package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.js +6 -6
  44. package/dist/components/mint-map/core/wrapper/MapControlWrapper.d.ts +20 -20
  45. package/dist/components/mint-map/core/wrapper/MapControlWrapper.js +6 -6
  46. package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.d.ts +51 -51
  47. package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +6 -20
  48. package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.d.ts +12 -12
  49. package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.js +6 -6
  50. package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.d.ts +12 -12
  51. package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.js +6 -6
  52. package/dist/components/mint-map/core/wrapper/index.d.ts +6 -6
  53. package/dist/components/mint-map/google/GoogleMintMapController.d.ts +53 -53
  54. package/dist/components/mint-map/index.d.ts +5 -5
  55. package/dist/components/mint-map/kakao/KakaoMintMapController.d.ts +57 -57
  56. package/dist/components/mint-map/kakao/KakaoMintMapController.js +7 -7
  57. package/dist/components/mint-map/naver/NaverMintMapController.d.ts +55 -55
  58. package/dist/components/mint-map/naver/NaverMintMapController.js +5 -5
  59. package/dist/components/mint-map/types/CommonTypes.d.ts +11 -11
  60. package/dist/components/mint-map/types/MapDrawables.d.ts +118 -118
  61. package/dist/components/mint-map/types/MapDrawables.js +8 -8
  62. package/dist/components/mint-map/types/MapEventTypes.d.ts +44 -44
  63. package/dist/components/mint-map/types/MapTypes.d.ts +60 -60
  64. package/dist/components/mint-map/types/MapTypes.js +13 -13
  65. package/dist/components/mint-map/types/MintMapEvents.d.ts +25 -25
  66. package/dist/components/mint-map/types/MintMapProps.d.ts +111 -111
  67. package/dist/components/mint-map/types/index.d.ts +6 -6
  68. package/dist/index.d.ts +7 -7
  69. package/dist/index.es.js +97 -193
  70. package/dist/index.js +0 -4
  71. package/dist/index.umd.js +96 -195
  72. package/package.json +77 -77
  73. package/dist/components/mint-map/core/provider/MarkerAutoTransitionProvider.d.ts +0 -20
  74. package/dist/components/mint-map/core/provider/MarkerAutoTransitionProvider.js +0 -105
@@ -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,57 +1,57 @@
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
- import { Property } from "csstype";
10
- export declare class KakaoMintMapController extends MintMapController {
11
- type: MapType;
12
- map: kakao.maps.Map | null;
13
- scriptUrl: string;
14
- scriptModules: string[];
15
- protected mapEvent: MapEvent;
16
- protected mapUIEvent: MapUIEvent;
17
- markerPool?: ObjectPool<kakao.maps.CustomOverlay>;
18
- constructor(props: MintMapProps);
19
- private initMarkerPool;
20
- polylineEvents: string[];
21
- createPolyline(polyline: Polyline): void;
22
- updatePolyline(polyline: Polyline, options: PolylineOptions): void;
23
- polygonEvents: string[];
24
- createPolygon(polygon: Polygon): void;
25
- updatePolygon(polygon: Polygon, options: PolygonOptions): void;
26
- markerEvents: string[];
27
- createMarker(marker: Marker): void;
28
- updateMarker(marker: Marker, options: MarkerOptions): void;
29
- private removeParentElementsMargin;
30
- private markerMaxZIndex;
31
- private getMaxZIndex;
32
- setMarkerZIndex(marker: Marker, zIndex: number): void;
33
- markerToTheTop(marker: Marker): void;
34
- clearDrawable(drawable: Drawable): boolean;
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
- setMapCursor(cursor: Property.Cursor): void;
50
- private positionToLatLng;
51
- private latLngToPosition;
52
- private eventMap;
53
- addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
54
- removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
55
- removeAllEventListener(eventName?: MapEventName | undefined): void;
56
- private clearEventListener;
57
- }
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
+ import { Property } from "csstype";
10
+ export declare class KakaoMintMapController extends MintMapController {
11
+ type: MapType;
12
+ map: kakao.maps.Map | null;
13
+ scriptUrl: string;
14
+ scriptModules: string[];
15
+ protected mapEvent: MapEvent;
16
+ protected mapUIEvent: MapUIEvent;
17
+ markerPool?: ObjectPool<kakao.maps.CustomOverlay>;
18
+ constructor(props: MintMapProps);
19
+ private initMarkerPool;
20
+ polylineEvents: string[];
21
+ createPolyline(polyline: Polyline): void;
22
+ updatePolyline(polyline: Polyline, options: PolylineOptions): void;
23
+ polygonEvents: string[];
24
+ createPolygon(polygon: Polygon): void;
25
+ updatePolygon(polygon: Polygon, options: PolygonOptions): void;
26
+ markerEvents: string[];
27
+ createMarker(marker: Marker): void;
28
+ updateMarker(marker: Marker, options: MarkerOptions): void;
29
+ private removeParentElementsMargin;
30
+ private markerMaxZIndex;
31
+ private getMaxZIndex;
32
+ setMarkerZIndex(marker: Marker, zIndex: number): void;
33
+ markerToTheTop(marker: Marker): void;
34
+ clearDrawable(drawable: Drawable): boolean;
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
+ setMapCursor(cursor: Property.Cursor): void;
50
+ private positionToLatLng;
51
+ private latLngToPosition;
52
+ private eventMap;
53
+ addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
54
+ removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
55
+ removeAllEventListener(eventName?: MapEventName | undefined): void;
56
+ private clearEventListener;
57
+ }
@@ -560,13 +560,13 @@ function (_super) {
560
560
  };
561
561
 
562
562
  KakaoMintMapController.prototype.getSafeZoomValue = function (value) {
563
- /**
564
- * 카카오는 구글/네이버와 다르게 줌레벨이 작아질수록 확대된다 (가장 확대된 것이 0)
565
- * - 가장 확대된 값 : 1
566
- * - 가장 축소된 값 : 14
567
- *
568
- * 그래서 세계지도가 없는 카카오는 동일한 사정인 네이버와 매핑하기로 한다.
569
- * 문제는 둘 간의 줌 레벨별 축척이 일치하지 않는다. 그래서 가장 유사한 레벨 끼리 매핑이 필요하다
563
+ /**
564
+ * 카카오는 구글/네이버와 다르게 줌레벨이 작아질수록 확대된다 (가장 확대된 것이 0)
565
+ * - 가장 확대된 값 : 1
566
+ * - 가장 축소된 값 : 14
567
+ *
568
+ * 그래서 세계지도가 없는 카카오는 동일한 사정인 네이버와 매핑하기로 한다.
569
+ * 문제는 둘 간의 줌 레벨별 축척이 일치하지 않는다. 그래서 가장 유사한 레벨 끼리 매핑이 필요하다
570
570
  */
571
571
  var mapValue = this.getBaseToMapZoom(value);
572
572
 
@@ -1,55 +1,55 @@
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
- import { Property } from "csstype";
10
- export declare class NaverMintMapController extends MintMapController {
11
- type: MapType;
12
- map: naver.maps.Map | null;
13
- scriptUrl: string;
14
- scriptModules: string[];
15
- protected mapEvent: MapEvent;
16
- protected mapUIEvent: MapUIEvent;
17
- markerPool?: ObjectPool<naver.maps.Marker>;
18
- constructor(props: MintMapProps);
19
- private initMarkerPool;
20
- polylineEvents: string[];
21
- createPolyline(polyline: Polyline): void;
22
- updatePolyline(polyline: Polyline, options: PolylineOptions): void;
23
- polygonEvents: string[];
24
- createPolygon(polygon: Polygon): void;
25
- updatePolygon(polygon: Polygon, options: PolygonOptions): void;
26
- markerEvents: string[];
27
- createMarker(marker: Marker): void;
28
- updateMarker(marker: Marker, options: MarkerOptions): void;
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 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
- setMapCursor(cursor: Property.Cursor): void;
49
- naverPositionToOffset(position: Position): Offset;
50
- private eventMap;
51
- addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
52
- removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
53
- removeAllEventListener(eventName?: MapEventName | undefined): void;
54
- private clearEventListener;
55
- }
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
+ import { Property } from "csstype";
10
+ export declare class NaverMintMapController extends MintMapController {
11
+ type: MapType;
12
+ map: naver.maps.Map | null;
13
+ scriptUrl: string;
14
+ scriptModules: string[];
15
+ protected mapEvent: MapEvent;
16
+ protected mapUIEvent: MapUIEvent;
17
+ markerPool?: ObjectPool<naver.maps.Marker>;
18
+ constructor(props: MintMapProps);
19
+ private initMarkerPool;
20
+ polylineEvents: string[];
21
+ createPolyline(polyline: Polyline): void;
22
+ updatePolyline(polyline: Polyline, options: PolylineOptions): void;
23
+ polygonEvents: string[];
24
+ createPolygon(polygon: Polygon): void;
25
+ updatePolygon(polygon: Polygon, options: PolygonOptions): void;
26
+ markerEvents: string[];
27
+ createMarker(marker: Marker): void;
28
+ updateMarker(marker: Marker, options: MarkerOptions): void;
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 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
+ setMapCursor(cursor: Property.Cursor): void;
49
+ naverPositionToOffset(position: Position): Offset;
50
+ private eventMap;
51
+ addEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
52
+ removeEventListener(eventName: MapEventName, callback: EventCallback<EventParamType>): void;
53
+ removeAllEventListener(eventName?: MapEventName | undefined): void;
54
+ private clearEventListener;
55
+ }
@@ -258,11 +258,11 @@ function (_super) {
258
258
  var map = marker.native.getMap();
259
259
 
260
260
  if (map) {
261
- /** 중요!!!!
262
- * naver 마커의 setOption(MarkerOptions) 은 내부적으로 setMap 을 무조건 강제 처리한다!!!
263
- * setMap 을 처리하면 맵의 이벤트리스너 등등이 모두 초기화 되고 다시 맵을 add 하면서 마커관련된 모든 초기화가 다시 일어난다.
264
- * (심지어 map 이 기존과 같은 객체인데도 초기화 처리함)
265
- * 그래서 민트맵에서는 update 를 지원하는 항목별로 명시적으로 각각 처리한다.
261
+ /** 중요!!!!
262
+ * naver 마커의 setOption(MarkerOptions) 은 내부적으로 setMap 을 무조건 강제 처리한다!!!
263
+ * setMap 을 처리하면 맵의 이벤트리스너 등등이 모두 초기화 되고 다시 맵을 add 하면서 마커관련된 모든 초기화가 다시 일어난다.
264
+ * (심지어 map 이 기존과 같은 객체인데도 초기화 처리함)
265
+ * 그래서 민트맵에서는 update 를 지원하는 항목별로 명시적으로 각각 처리한다.
266
266
  */
267
267
  //Position
268
268
  if (options.position && options.position instanceof MapTypes.Position) {
@@ -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,118 +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
- * 디버그
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
- }
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
+ }
@@ -18,8 +18,8 @@ var Marker =
18
18
  /** @class */
19
19
  function (_super) {
20
20
  tslib.__extends(Marker, _super);
21
- /**
22
- * 지도에 표시할 마커정보
21
+ /**
22
+ * 지도에 표시할 마커정보
23
23
  */
24
24
 
25
25
 
@@ -37,8 +37,8 @@ var Polyline =
37
37
  /** @class */
38
38
  function (_super) {
39
39
  tslib.__extends(Polyline, _super);
40
- /**
41
- * 지도에 표시할 폴리곤정보
40
+ /**
41
+ * 지도에 표시할 폴리곤정보
42
42
  */
43
43
 
44
44
 
@@ -56,8 +56,8 @@ var Polygon =
56
56
  /** @class */
57
57
  function (_super) {
58
58
  tslib.__extends(Polygon, _super);
59
- /**
60
- * 지도에 표시할 폴리곤정보
59
+ /**
60
+ * 지도에 표시할 폴리곤정보
61
61
  */
62
62
 
63
63
 
@@ -67,8 +67,8 @@ function (_super) {
67
67
  _this.options = options;
68
68
  return _this;
69
69
  }
70
- /**
71
- * 폴리곤의 중점을 구한다.
70
+ /**
71
+ * 폴리곤의 중점을 구한다.
72
72
  */
73
73
 
74
74