@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.
- package/.eslintrc.js +109 -109
- package/LICENSE +21 -21
- package/README.md +73 -73
- package/dist/components/mint-map/MintMap.d.ts +10 -10
- package/dist/components/mint-map/MintMap.js +6 -6
- package/dist/components/mint-map/core/MintMapCanvasRenderer.d.ts +4 -4
- package/dist/components/mint-map/core/MintMapController.d.ts +65 -64
- package/dist/components/mint-map/core/MintMapController.js +17 -9
- package/dist/components/mint-map/core/MintMapCore.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/MapBuildingProjection.d.ts +15 -15
- package/dist/components/mint-map/core/advanced/MapLoadingComponents.d.ts +17 -17
- package/dist/components/mint-map/core/advanced/index.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/shapes/CircleMarker.d.ts +20 -20
- package/dist/components/mint-map/core/advanced/shapes/CircleMarker.js +7 -6
- package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.d.ts +26 -23
- package/dist/components/mint-map/core/advanced/shapes/PolygonMarker.js +7 -6
- package/dist/components/mint-map/core/advanced/shapes/base/SVGCircle.d.ts +8 -8
- package/dist/components/mint-map/core/advanced/shapes/base/SVGPolygon.d.ts +12 -12
- package/dist/components/mint-map/core/advanced/shapes/base/SVGRect.d.ts +10 -10
- package/dist/components/mint-map/core/advanced/shapes/base/index.d.ts +3 -3
- package/dist/components/mint-map/core/advanced/shapes/index.d.ts +3 -3
- package/dist/components/mint-map/core/hooks/MarkerMovingHook.d.ts +6 -6
- package/dist/components/mint-map/core/hooks/index.d.ts +1 -1
- package/dist/components/mint-map/core/index.d.ts +8 -8
- package/dist/components/mint-map/core/provider/MintMapProvider.d.ts +8 -8
- package/dist/components/mint-map/core/provider/index.d.ts +1 -1
- package/dist/components/mint-map/core/util/animation.d.ts +16 -16
- package/dist/components/mint-map/core/util/cluster.d.ts +18 -18
- package/dist/components/mint-map/core/util/geo.d.ts +38 -38
- package/dist/components/mint-map/core/util/index.d.ts +7 -5
- package/dist/components/mint-map/core/util/log.d.ts +1 -0
- package/dist/components/mint-map/core/util/log.js +18 -0
- package/dist/components/mint-map/core/util/polygon.d.ts +42 -40
- package/dist/components/mint-map/core/util/polygon.js +37 -8
- package/dist/components/mint-map/core/util/status.d.ts +9 -0
- package/dist/components/mint-map/core/util/status.js +58 -0
- package/dist/components/mint-map/core/util/waiting.d.ts +1 -1
- package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.d.ts +27 -27
- package/dist/components/mint-map/core/wrapper/MapCanvasMarkerWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.d.ts +11 -11
- package/dist/components/mint-map/core/wrapper/MapCanvasWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/MapControlWrapper.d.ts +18 -18
- package/dist/components/mint-map/core/wrapper/MapControlWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.d.ts +42 -42
- package/dist/components/mint-map/core/wrapper/MapMarkerWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.d.ts +12 -12
- package/dist/components/mint-map/core/wrapper/MapPolygonWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.d.ts +12 -12
- package/dist/components/mint-map/core/wrapper/MapPolylineWrapper.js +6 -6
- package/dist/components/mint-map/core/wrapper/index.d.ts +6 -6
- package/dist/components/mint-map/google/GoogleMintMapController.d.ts +51 -51
- package/dist/components/mint-map/google/GoogleMintMapController.js +8 -0
- package/dist/components/mint-map/index.d.ts +5 -5
- package/dist/components/mint-map/kakao/KakaoMintMapController.d.ts +56 -56
- package/dist/components/mint-map/kakao/KakaoMintMapController.js +14 -7
- package/dist/components/mint-map/naver/NaverMintMapController.d.ts +54 -54
- package/dist/components/mint-map/naver/NaverMintMapController.js +16 -9
- package/dist/components/mint-map/types/CommonTypes.d.ts +11 -11
- package/dist/components/mint-map/types/MapDrawables.d.ts +118 -110
- package/dist/components/mint-map/types/MapDrawables.js +8 -8
- package/dist/components/mint-map/types/MapEventTypes.d.ts +44 -44
- package/dist/components/mint-map/types/MapTypes.d.ts +60 -60
- package/dist/components/mint-map/types/MapTypes.js +13 -13
- package/dist/components/mint-map/types/MintMapEvents.d.ts +25 -25
- package/dist/components/mint-map/types/MintMapProps.d.ts +96 -92
- package/dist/components/mint-map/types/index.d.ts +6 -6
- package/dist/index.d.ts +7 -7
- package/dist/index.es.js +462 -349
- package/dist/index.js +4 -0
- package/dist/index.umd.js +462 -347
- 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
|
-
};
|
|
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
|
-
}
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
*
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
*
|
|
108
|
-
*/
|
|
109
|
-
|
|
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
|
+
}
|