@spuermomonga/vue3-bmapgl 0.0.5 → 0.0.7
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/index.js +435 -26
- package/dist/index.prod.js +1 -1
- package/es/_mixins/index.d.ts +1 -0
- package/es/_mixins/index.mjs +1 -0
- package/es/_mixins/index.mjs.map +1 -1
- package/es/_mixins/use-config.mjs +19 -8
- package/es/_mixins/use-config.mjs.map +1 -1
- package/es/_mixins/use-map-instance.d.ts +1 -0
- package/es/_mixins/use-map-instance.mjs +10 -0
- package/es/_mixins/use-map-instance.mjs.map +1 -0
- package/es/_utils/call.d.ts +7 -0
- package/es/_utils/call.mjs +10 -0
- package/es/_utils/call.mjs.map +1 -0
- package/es/_utils/index.d.ts +1 -0
- package/es/_utils/index.mjs +2 -1
- package/es/_utils/index.mjs.map +1 -1
- package/es/_utils/map.d.ts +1 -0
- package/es/_utils/map.mjs +14 -1
- package/es/_utils/map.mjs.map +1 -1
- package/es/components.d.ts +4 -0
- package/es/components.mjs +7 -0
- package/es/components.mjs.map +1 -1
- package/es/config-provider/src/config-provider-props.d.ts +10 -1
- package/es/config-provider/src/config-provider-props.mjs.map +1 -1
- package/es/index.mjs +7 -0
- package/es/index.mjs.map +1 -1
- package/es/layer/tile/index.d.ts +1 -0
- package/es/layer/tile/index.mjs +1 -1
- package/es/layer/tile/src/tile.mjs +1 -1
- package/es/layer/tile/src/tile.mjs.map +1 -1
- package/es/layer/xyz/index.d.ts +3 -0
- package/es/layer/xyz/index.mjs +2 -1
- package/es/layer/xyz/index.mjs.map +1 -1
- package/es/layer/xyz/src/xyz-props.d.ts +62 -0
- package/es/layer/xyz/src/xyz-props.mjs +58 -0
- package/es/layer/xyz/src/xyz-props.mjs.map +1 -0
- package/es/layer/xyz/src/xyz.d.ts +118 -1
- package/es/layer/xyz/src/xyz.mjs +96 -4
- package/es/layer/xyz/src/xyz.mjs.map +1 -1
- package/es/map/index.d.ts +1 -0
- package/es/map/index.mjs +1 -0
- package/es/map/index.mjs.map +1 -1
- package/es/map/src/constants.d.ts +3 -0
- package/es/map/src/constants.mjs +4 -0
- package/es/map/src/constants.mjs.map +1 -0
- package/es/map/src/interface.d.ts +6 -0
- package/es/map/src/interface.mjs +2 -0
- package/es/map/src/interface.mjs.map +1 -0
- package/es/map/src/map-props.d.ts +42 -0
- package/es/map/src/map-props.mjs +42 -1
- package/es/map/src/map-props.mjs.map +1 -1
- package/es/map/src/map.d.ts +91 -0
- package/es/map/src/map.mjs +76 -17
- package/es/map/src/map.mjs.map +1 -1
- package/es/map/src/style/map.module.css.mjs +2 -2
- package/es/overlay/polygon/index.d.ts +3 -0
- package/es/overlay/polygon/index.mjs +2 -1
- package/es/overlay/polygon/index.mjs.map +1 -1
- package/es/overlay/polygon/src/polygon-props.d.ts +51 -0
- package/es/overlay/polygon/src/polygon-props.mjs +51 -0
- package/es/overlay/polygon/src/polygon-props.mjs.map +1 -0
- package/es/overlay/polygon/src/polygon.d.ts +108 -0
- package/es/overlay/polygon/src/polygon.mjs +63 -0
- package/es/overlay/polygon/src/polygon.mjs.map +1 -0
- package/es/overlay/sector/index.d.ts +1 -0
- package/es/overlay/sector/index.mjs +2 -0
- package/es/overlay/sector/index.mjs.map +1 -0
- package/es/overlay/sector/src/sector-props.mjs +2 -0
- package/es/overlay/sector/src/sector-props.mjs.map +1 -0
- package/es/overlay/sector/src/sector.d.ts +2 -0
- package/es/overlay/sector/src/sector.mjs +11 -0
- package/es/overlay/sector/src/sector.mjs.map +1 -0
- package/lib/_mixins/index.d.ts +1 -0
- package/lib/_mixins/index.js +2 -0
- package/lib/_mixins/index.js.map +1 -1
- package/lib/_mixins/use-config.js +19 -8
- package/lib/_mixins/use-config.js.map +1 -1
- package/lib/_mixins/use-map-instance.d.ts +1 -0
- package/lib/_mixins/use-map-instance.js +12 -0
- package/lib/_mixins/use-map-instance.js.map +1 -0
- package/lib/_utils/call.d.ts +7 -0
- package/lib/_utils/call.js +12 -0
- package/lib/_utils/call.js.map +1 -0
- package/lib/_utils/index.d.ts +1 -0
- package/lib/_utils/index.js +3 -0
- package/lib/_utils/index.js.map +1 -1
- package/lib/_utils/map.d.ts +1 -0
- package/lib/_utils/map.js +14 -0
- package/lib/_utils/map.js.map +1 -1
- package/lib/components.d.ts +4 -0
- package/lib/components.js +14 -0
- package/lib/components.js.map +1 -1
- package/lib/config-provider/src/config-provider-props.d.ts +10 -1
- package/lib/config-provider/src/config-provider-props.js.map +1 -1
- package/lib/index.js +14 -0
- package/lib/index.js.map +1 -1
- package/lib/layer/tile/index.d.ts +1 -0
- package/lib/layer/tile/index.js +5 -0
- package/lib/layer/tile/index.js.map +1 -1
- package/lib/layer/tile/src/tile.js +1 -1
- package/lib/layer/tile/src/tile.js.map +1 -1
- package/lib/layer/xyz/index.d.ts +3 -0
- package/lib/layer/xyz/index.js +7 -0
- package/lib/layer/xyz/index.js.map +1 -1
- package/lib/layer/xyz/src/xyz-props.d.ts +62 -0
- package/lib/layer/xyz/src/xyz-props.js +60 -0
- package/lib/layer/xyz/src/xyz-props.js.map +1 -0
- package/lib/layer/xyz/src/xyz.d.ts +118 -1
- package/lib/layer/xyz/src/xyz.js +95 -3
- package/lib/layer/xyz/src/xyz.js.map +1 -1
- package/lib/map/index.d.ts +1 -0
- package/lib/map/index.js +2 -0
- package/lib/map/index.js.map +1 -1
- package/lib/map/src/constants.d.ts +3 -0
- package/lib/map/src/constants.js +6 -0
- package/lib/map/src/constants.js.map +1 -0
- package/lib/map/src/interface.d.ts +6 -0
- package/lib/map/src/interface.js +3 -0
- package/lib/map/src/interface.js.map +1 -0
- package/lib/map/src/map-props.d.ts +42 -0
- package/lib/map/src/map-props.js +42 -1
- package/lib/map/src/map-props.js.map +1 -1
- package/lib/map/src/map.d.ts +91 -0
- package/lib/map/src/map.js +75 -16
- package/lib/map/src/map.js.map +1 -1
- package/lib/map/src/style/map.module.css.js +2 -2
- package/lib/overlay/polygon/index.d.ts +3 -0
- package/lib/overlay/polygon/index.js +7 -0
- package/lib/overlay/polygon/index.js.map +1 -1
- package/lib/overlay/polygon/src/polygon-props.d.ts +51 -0
- package/lib/overlay/polygon/src/polygon-props.js +53 -0
- package/lib/overlay/polygon/src/polygon-props.js.map +1 -0
- package/lib/overlay/polygon/src/polygon.d.ts +108 -0
- package/lib/overlay/polygon/src/polygon.js +65 -0
- package/lib/overlay/polygon/src/polygon.js.map +1 -0
- package/lib/overlay/sector/index.d.ts +1 -0
- package/lib/overlay/sector/index.js +8 -0
- package/lib/overlay/sector/index.js.map +1 -0
- package/lib/overlay/sector/src/sector-props.js +3 -0
- package/lib/overlay/sector/src/sector-props.js.map +1 -0
- package/lib/overlay/sector/src/sector.d.ts +2 -0
- package/lib/overlay/sector/src/sector.js +13 -0
- package/lib/overlay/sector/src/sector.js.map +1 -0
- package/package.json +2 -2
- package/es/overlay/polygon/src/Polygon.vue.mjs +0 -11
- package/es/overlay/polygon/src/Polygon.vue.mjs.map +0 -1
- package/lib/overlay/polygon/src/Polygon.vue.js +0 -13
- package/lib/overlay/polygon/src/Polygon.vue.js.map +0 -1
package/lib/map/src/map.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
13
13
|
readonly type: NumberConstructor;
|
|
14
14
|
readonly default: 0;
|
|
15
15
|
};
|
|
16
|
+
readonly heading: {
|
|
17
|
+
readonly type: NumberConstructor;
|
|
18
|
+
readonly default: 0;
|
|
19
|
+
};
|
|
16
20
|
readonly center: {
|
|
17
21
|
readonly type: import("vue").PropType<BMapGL.Point | string | [number, number]>;
|
|
18
22
|
readonly default: readonly [116.403901, 39.915185];
|
|
@@ -22,10 +26,47 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
22
26
|
readonly default: 14;
|
|
23
27
|
};
|
|
24
28
|
readonly class: StringConstructor;
|
|
29
|
+
readonly contentClass: StringConstructor;
|
|
25
30
|
readonly enableScrollWheelZoom: {
|
|
26
31
|
readonly type: BooleanConstructor;
|
|
27
32
|
readonly default: false;
|
|
28
33
|
};
|
|
34
|
+
readonly enableDragging: {
|
|
35
|
+
readonly type: BooleanConstructor;
|
|
36
|
+
readonly default: true;
|
|
37
|
+
};
|
|
38
|
+
readonly tilt: {
|
|
39
|
+
readonly type: NumberConstructor;
|
|
40
|
+
readonly default: 0;
|
|
41
|
+
};
|
|
42
|
+
readonly enableTilt: {
|
|
43
|
+
readonly type: BooleanConstructor;
|
|
44
|
+
readonly default: false;
|
|
45
|
+
};
|
|
46
|
+
readonly mapType: {
|
|
47
|
+
readonly type: import("vue").PropType<BMapGL.MapTypeId>;
|
|
48
|
+
readonly default: "BMAP_NORMAL_MAP";
|
|
49
|
+
};
|
|
50
|
+
readonly enableAutoResize: {
|
|
51
|
+
readonly type: BooleanConstructor;
|
|
52
|
+
readonly default: true;
|
|
53
|
+
};
|
|
54
|
+
readonly enableTiltGestures: {
|
|
55
|
+
readonly type: BooleanConstructor;
|
|
56
|
+
readonly default: false;
|
|
57
|
+
};
|
|
58
|
+
readonly enableRotate: {
|
|
59
|
+
readonly type: BooleanConstructor;
|
|
60
|
+
readonly default: false;
|
|
61
|
+
};
|
|
62
|
+
readonly enableRotateGestures: {
|
|
63
|
+
readonly type: BooleanConstructor;
|
|
64
|
+
readonly default: false;
|
|
65
|
+
};
|
|
66
|
+
readonly displayOptions: {
|
|
67
|
+
readonly type: import("vue").PropType<BMapGL.displayOptions>;
|
|
68
|
+
};
|
|
69
|
+
readonly onInitd: import("vue").PropType<import("./interface").onInitd>;
|
|
29
70
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
30
71
|
readonly maxZoom: {
|
|
31
72
|
readonly type: NumberConstructor;
|
|
@@ -35,6 +76,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
35
76
|
readonly type: NumberConstructor;
|
|
36
77
|
readonly default: 0;
|
|
37
78
|
};
|
|
79
|
+
readonly heading: {
|
|
80
|
+
readonly type: NumberConstructor;
|
|
81
|
+
readonly default: 0;
|
|
82
|
+
};
|
|
38
83
|
readonly center: {
|
|
39
84
|
readonly type: import("vue").PropType<BMapGL.Point | string | [number, number]>;
|
|
40
85
|
readonly default: readonly [116.403901, 39.915185];
|
|
@@ -44,15 +89,61 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
44
89
|
readonly default: 14;
|
|
45
90
|
};
|
|
46
91
|
readonly class: StringConstructor;
|
|
92
|
+
readonly contentClass: StringConstructor;
|
|
47
93
|
readonly enableScrollWheelZoom: {
|
|
48
94
|
readonly type: BooleanConstructor;
|
|
49
95
|
readonly default: false;
|
|
50
96
|
};
|
|
97
|
+
readonly enableDragging: {
|
|
98
|
+
readonly type: BooleanConstructor;
|
|
99
|
+
readonly default: true;
|
|
100
|
+
};
|
|
101
|
+
readonly tilt: {
|
|
102
|
+
readonly type: NumberConstructor;
|
|
103
|
+
readonly default: 0;
|
|
104
|
+
};
|
|
105
|
+
readonly enableTilt: {
|
|
106
|
+
readonly type: BooleanConstructor;
|
|
107
|
+
readonly default: false;
|
|
108
|
+
};
|
|
109
|
+
readonly mapType: {
|
|
110
|
+
readonly type: import("vue").PropType<BMapGL.MapTypeId>;
|
|
111
|
+
readonly default: "BMAP_NORMAL_MAP";
|
|
112
|
+
};
|
|
113
|
+
readonly enableAutoResize: {
|
|
114
|
+
readonly type: BooleanConstructor;
|
|
115
|
+
readonly default: true;
|
|
116
|
+
};
|
|
117
|
+
readonly enableTiltGestures: {
|
|
118
|
+
readonly type: BooleanConstructor;
|
|
119
|
+
readonly default: false;
|
|
120
|
+
};
|
|
121
|
+
readonly enableRotate: {
|
|
122
|
+
readonly type: BooleanConstructor;
|
|
123
|
+
readonly default: false;
|
|
124
|
+
};
|
|
125
|
+
readonly enableRotateGestures: {
|
|
126
|
+
readonly type: BooleanConstructor;
|
|
127
|
+
readonly default: false;
|
|
128
|
+
};
|
|
129
|
+
readonly displayOptions: {
|
|
130
|
+
readonly type: import("vue").PropType<BMapGL.displayOptions>;
|
|
131
|
+
};
|
|
132
|
+
readonly onInitd: import("vue").PropType<import("./interface").onInitd>;
|
|
51
133
|
}>> & Readonly<{}>, {
|
|
52
134
|
readonly zoom: number;
|
|
53
135
|
readonly center: string | BMapGL.Point | [number, number];
|
|
136
|
+
readonly heading: number;
|
|
54
137
|
readonly minZoom: number;
|
|
55
138
|
readonly maxZoom: number;
|
|
56
139
|
readonly enableScrollWheelZoom: boolean;
|
|
140
|
+
readonly enableDragging: boolean;
|
|
141
|
+
readonly tilt: number;
|
|
142
|
+
readonly enableTilt: boolean;
|
|
143
|
+
readonly mapType: string;
|
|
144
|
+
readonly enableAutoResize: boolean;
|
|
145
|
+
readonly enableTiltGestures: boolean;
|
|
146
|
+
readonly enableRotate: boolean;
|
|
147
|
+
readonly enableRotateGestures: boolean;
|
|
57
148
|
}, SlotsType<MapSlots>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
58
149
|
export default _default;
|
package/lib/map/src/map.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
|
+
var constants = require('./constants.js');
|
|
4
5
|
var mapProps = require('./map-props.js');
|
|
5
6
|
var map_module = require('./style/map.module.css.js');
|
|
6
7
|
var useConfig = require('../../_mixins/use-config.js');
|
|
@@ -19,50 +20,106 @@ var map = /* @__PURE__ */ vue.defineComponent({
|
|
|
19
20
|
} = useConfig(props);
|
|
20
21
|
const contentRef = vue.ref();
|
|
21
22
|
let map = null;
|
|
23
|
+
const initd = vue.ref(false);
|
|
24
|
+
vue.provide(constants.mapInjectionKey, {
|
|
25
|
+
mapInstance: () => map
|
|
26
|
+
});
|
|
22
27
|
const setCenterAndZoom = (center) => {
|
|
23
28
|
if (typeof center === "string") {
|
|
24
|
-
map.centerAndZoom(center, mergedMapSetRef.value.zoom);
|
|
29
|
+
map === null || map === void 0 ? void 0 : map.centerAndZoom(center, mergedMapSetRef.value.zoom);
|
|
25
30
|
} else if (Array.isArray(center)) {
|
|
26
|
-
map.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
|
|
31
|
+
map === null || map === void 0 ? void 0 : map.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
|
|
27
32
|
} else {
|
|
28
|
-
map.centerAndZoom(
|
|
33
|
+
map === null || map === void 0 ? void 0 : map.centerAndZoom(center, mergedMapSetRef.value.zoom);
|
|
29
34
|
}
|
|
30
35
|
};
|
|
31
36
|
const setScrollWheelZoom = (enableScrollWheelZoom) => {
|
|
32
37
|
enableScrollWheelZoom ? map.enableScrollWheelZoom() : map.disableScrollWheelZoom();
|
|
33
38
|
};
|
|
34
|
-
const
|
|
39
|
+
const setDisplayOptions = (displayOptions) => {
|
|
40
|
+
map === null || map === void 0 ? void 0 : map.setDisplayOptions(displayOptions || {});
|
|
41
|
+
};
|
|
42
|
+
const setTilt = (tilt) => {
|
|
43
|
+
map === null || map === void 0 ? void 0 : map.setTilt(tilt !== null && tilt !== void 0 ? tilt : 0);
|
|
44
|
+
};
|
|
45
|
+
const setHeading = (heading) => {
|
|
46
|
+
map === null || map === void 0 ? void 0 : map.setHeading(heading !== null && heading !== void 0 ? heading : 0);
|
|
47
|
+
};
|
|
48
|
+
const setDragging = (enableDragging) => {
|
|
49
|
+
enableDragging ? map.enableDragging() : map.disableDragging();
|
|
50
|
+
};
|
|
51
|
+
const setMapType = (mapType) => {
|
|
52
|
+
window[mapType] !== void 0 && map.setMapType(window[mapType]);
|
|
53
|
+
};
|
|
54
|
+
const initMapOptions = () => {
|
|
35
55
|
const {
|
|
36
56
|
center,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
57
|
+
heading,
|
|
58
|
+
enableScrollWheelZoom,
|
|
59
|
+
tilt,
|
|
60
|
+
enableDragging
|
|
40
61
|
} = mergedMapSetRef.value;
|
|
41
|
-
|
|
42
|
-
maxZoom,
|
|
43
|
-
minZoom
|
|
44
|
-
});
|
|
62
|
+
setHeading(heading);
|
|
45
63
|
setCenterAndZoom(center);
|
|
46
64
|
setScrollWheelZoom(enableScrollWheelZoom);
|
|
65
|
+
setTilt(tilt);
|
|
66
|
+
setDragging(enableDragging);
|
|
47
67
|
};
|
|
48
68
|
const startWatchProps = () => {
|
|
49
69
|
vue.watch(() => mergedMapSetRef.value.center, setCenterAndZoom, {
|
|
50
70
|
deep: true
|
|
51
71
|
});
|
|
52
72
|
vue.watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
|
|
73
|
+
vue.watch(() => mergedMapSetRef.value.displayOptions, setDisplayOptions);
|
|
74
|
+
vue.watch(() => mergedMapSetRef.value.tilt, setTilt);
|
|
75
|
+
vue.watch(() => mergedMapSetRef.value.heading, setHeading);
|
|
76
|
+
vue.watch(() => mergedMapSetRef.value.enableDragging, setDragging);
|
|
77
|
+
vue.watch(() => mergedMapSetRef.value.mapType, setMapType);
|
|
78
|
+
};
|
|
79
|
+
const init = () => {
|
|
80
|
+
const {
|
|
81
|
+
maxZoom,
|
|
82
|
+
minZoom,
|
|
83
|
+
enableTilt,
|
|
84
|
+
mapType,
|
|
85
|
+
enableAutoResize,
|
|
86
|
+
enableTiltGestures,
|
|
87
|
+
enableRotate,
|
|
88
|
+
enableRotateGestures,
|
|
89
|
+
displayOptions
|
|
90
|
+
} = mergedMapSetRef.value;
|
|
91
|
+
map = new BMapGL.Map(contentRef.value, {
|
|
92
|
+
maxZoom,
|
|
93
|
+
minZoom,
|
|
94
|
+
enableTilt,
|
|
95
|
+
mapType: window[mapType],
|
|
96
|
+
enableAutoResize,
|
|
97
|
+
enableTiltGestures,
|
|
98
|
+
enableRotate,
|
|
99
|
+
enableRotateGestures,
|
|
100
|
+
displayOptions
|
|
101
|
+
});
|
|
102
|
+
const {
|
|
103
|
+
onInitd
|
|
104
|
+
} = props;
|
|
105
|
+
initMapOptions();
|
|
106
|
+
startWatchProps();
|
|
107
|
+
onInitd === null || onInitd === void 0 ? void 0 : onInitd({
|
|
108
|
+
map
|
|
109
|
+
});
|
|
110
|
+
initd.value = true;
|
|
53
111
|
};
|
|
54
112
|
vue.onMounted(() => {
|
|
55
113
|
vue.watchEffect(() => {
|
|
56
|
-
if ((mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "loaded" && !
|
|
114
|
+
if ((mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "loaded" && !initd.value) {
|
|
57
115
|
vue.nextTick(init);
|
|
58
|
-
startWatchProps();
|
|
59
116
|
}
|
|
60
117
|
});
|
|
61
118
|
});
|
|
62
119
|
vue.onUnmounted(() => {
|
|
63
120
|
if (map) {
|
|
64
121
|
try {
|
|
65
|
-
map.destroy();
|
|
122
|
+
map === null || map === void 0 ? void 0 : map.destroy();
|
|
66
123
|
} catch (error) {
|
|
67
124
|
console.error(`[Vue3 BMapGL]: ${error.message}`);
|
|
68
125
|
}
|
|
@@ -71,13 +128,15 @@ var map = /* @__PURE__ */ vue.defineComponent({
|
|
|
71
128
|
return () => {
|
|
72
129
|
var _a;
|
|
73
130
|
return vue.createVNode("div", {
|
|
131
|
+
"class": [[map_module["b-map"]], props.class]
|
|
132
|
+
}, [vue.createVNode("div", {
|
|
74
133
|
"ref": contentRef,
|
|
75
|
-
"class": [map_module["b-map-content"], props.
|
|
134
|
+
"class": [map_module["b-map-content"], props.contentClass]
|
|
76
135
|
}, [(mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "pending" && resolveSlot.resolveWrappedSlot(slots.loading, () => vue.createVNode("div", {
|
|
77
136
|
"class": [map_module["b-map-loading"]]
|
|
78
137
|
}, [vue.createTextVNode("map loading...")])), (mergedStatusRef === null || mergedStatusRef === void 0 ? void 0 : mergedStatusRef.value) === "failed" && resolveSlot.resolveWrappedSlot(slots.failed, () => vue.createVNode("div", {
|
|
79
138
|
"class": [map_module["b-map-failed"]]
|
|
80
|
-
}, [vue.createTextVNode("map failed")])), (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);
|
|
139
|
+
}, [vue.createTextVNode("map failed")]))]), initd.value && ((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots))]);
|
|
81
140
|
};
|
|
82
141
|
}
|
|
83
142
|
});
|
package/lib/map/src/map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onMounted, onUnmounted, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map!.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map!.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map!.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const init = () => {\r\n const { center, maxZoom, minZoom, enableScrollWheelZoom } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n })\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n }\r\n\r\n onMounted(() => {\r\n watchEffect(() => {\r\n if (mergedStatusRef?.value === 'loaded' && !map) {\r\n nextTick(init)\r\n startWatchProps()\r\n }\r\n })\r\n })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div ref={contentRef} class={[styles['b-map-content'], props.class]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n {slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","lng","lat","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","init","maxZoom","minZoom","Map","startWatchProps","watch","deep","onMounted","watchEffect","nextTick","onUnmounted","destroy","error","console","message","_createVNode","styles","class","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map.js","sources":["../../../src/map/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/map/src/map.tsx"],"sourcesContent":["import type { SlotsType, VNode } from 'vue'\r\nimport { defineComponent, nextTick, onMounted, onUnmounted, provide, ref, watch, watchEffect } from 'vue'\r\nimport { useConfig } from '../../_mixins'\r\nimport { resolveWrappedSlot } from '../../_utils'\r\nimport { mapInjectionKey } from './constants'\r\nimport { mapProps } from './map-props'\r\nimport styles from './style/map.module.css'\r\n\r\nexport interface MapSlots {\r\n default?: () => VNode[]\r\n loading?: () => VNode[]\r\n failed?: () => VNode[]\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Map',\r\n props: mapProps,\r\n slots: Object as SlotsType<MapSlots>,\r\n setup(props, { slots }) {\r\n const { mergedMapSetRef, mergedStatusRef } = useConfig(props)\r\n\r\n const contentRef = ref<HTMLDivElement | null>()\r\n let map: BMapGL.Map | null = null\r\n const initd = ref(false)\r\n\r\n provide(mapInjectionKey, { mapInstance: () => map! })\r\n\r\n const setCenterAndZoom = (center: BMapGL.Point | string | [number, number]) => {\r\n if (typeof center === 'string') {\r\n map?.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n } else if (Array.isArray(center)) {\r\n map?.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom!)\r\n } else {\r\n map?.centerAndZoom(center, mergedMapSetRef.value.zoom!)\r\n }\r\n }\r\n\r\n const setScrollWheelZoom = (enableScrollWheelZoom?: boolean) => {\r\n enableScrollWheelZoom ? map!.enableScrollWheelZoom() : map!.disableScrollWheelZoom()\r\n }\r\n\r\n const setDisplayOptions = (displayOptions?: BMapGL.displayOptions) => {\r\n map?.setDisplayOptions(displayOptions || {})\r\n }\r\n\r\n const setTilt = (tilt?: number) => {\r\n map?.setTilt(tilt ?? 0)\r\n }\r\n\r\n const setHeading = (heading?: number) => {\r\n map?.setHeading(heading ?? 0)\r\n }\r\n\r\n const setDragging = (enableDragging?: boolean) => {\r\n enableDragging ? map!.enableDragging() : map!.disableDragging()\r\n }\r\n\r\n const setMapType = (mapType?: BMapGL.MapTypeId) => {\r\n window[mapType as any] !== undefined && map!.setMapType(window[mapType as any] as any)\r\n }\r\n\r\n const initMapOptions = () => {\r\n const { center, heading, enableScrollWheelZoom, tilt, enableDragging } = mergedMapSetRef.value\r\n setHeading(heading)\r\n setCenterAndZoom(center!)\r\n setScrollWheelZoom(enableScrollWheelZoom)\r\n setTilt(tilt)\r\n setDragging(enableDragging)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => mergedMapSetRef.value.center!, setCenterAndZoom, { deep: true })\r\n watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom)\r\n watch(() => mergedMapSetRef.value.displayOptions, setDisplayOptions)\r\n watch(() => mergedMapSetRef.value.tilt, setTilt)\r\n watch(() => mergedMapSetRef.value.heading, setHeading)\r\n watch(() => mergedMapSetRef.value.enableDragging, setDragging)\r\n watch(() => mergedMapSetRef.value.mapType, setMapType)\r\n }\r\n\r\n const init = () => {\r\n const { maxZoom, minZoom, enableTilt, mapType, enableAutoResize, enableTiltGestures, enableRotate, enableRotateGestures, displayOptions } = mergedMapSetRef.value\r\n map = new BMapGL.Map(contentRef.value!, {\r\n maxZoom,\r\n minZoom,\r\n enableTilt,\r\n mapType: window[mapType as any] as any,\r\n enableAutoResize,\r\n enableTiltGestures,\r\n enableRotate,\r\n enableRotateGestures,\r\n displayOptions,\r\n })\r\n const { onInitd } = props\r\n initMapOptions()\r\n startWatchProps()\r\n onInitd?.({ map: map! })\r\n initd.value = true\r\n }\r\n\r\n onMounted(() => {\r\n watchEffect(() => {\r\n if (mergedStatusRef?.value === 'loaded' && !initd.value) {\r\n nextTick(init)\r\n }\r\n })\r\n })\r\n\r\n onUnmounted(() => {\r\n if (map) {\r\n try {\r\n map?.destroy()\r\n } catch (error: any) {\r\n console.error(`[Vue3 BMapGL]: ${error.message}`)\r\n }\r\n }\r\n })\r\n\r\n return () => (\r\n <div class={[[styles['b-map']], props.class]}>\r\n <div ref={contentRef} class={[styles['b-map-content'], props.contentClass]}>\r\n {mergedStatusRef?.value === 'pending'\r\n && resolveWrappedSlot(slots.loading, () =>\r\n (<div class={[styles['b-map-loading']]}>map loading...</div>))}\r\n {mergedStatusRef?.value === 'failed'\r\n && resolveWrappedSlot(slots.failed, () =>\r\n (<div class={[styles['b-map-failed']]}>map failed</div>))}\r\n </div>\r\n {initd.value && slots.default?.()}\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","mapProps","slots","Object","setup","mergedMapSetRef","mergedStatusRef","useConfig","contentRef","ref","map","initd","provide","mapInjectionKey","mapInstance","setCenterAndZoom","center","centerAndZoom","value","zoom","Array","isArray","BMapGL","Point","setScrollWheelZoom","enableScrollWheelZoom","disableScrollWheelZoom","setDisplayOptions","displayOptions","setTilt","tilt","setHeading","heading","setDragging","enableDragging","disableDragging","setMapType","mapType","window","undefined","initMapOptions","startWatchProps","watch","deep","init","maxZoom","minZoom","enableTilt","enableAutoResize","enableTiltGestures","enableRotate","enableRotateGestures","Map","onInitd","onMounted","watchEffect","nextTick","onUnmounted","destroy","error","console","message","_createVNode","styles","class","contentClass","resolveWrappedSlot","loading","_createTextVNode","failed","_a","default","call"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var styleInject_es = require('../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js');
|
|
4
4
|
|
|
5
|
-
var css_248z = ".map-module_b-map-content__sMaJG{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}";
|
|
6
|
-
var styles = {"b-map-content":"map-module_b-map-content__sMaJG","b-map-loading":"map-module_b-map-loading__qc4a8","b-map-failed":"map-module_b-map-failed__-w-tX"};
|
|
5
|
+
var css_248z = ".map-module_b-map-content__sMaJG,.map-module_b-map__29r3m{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}";
|
|
6
|
+
var styles = {"b-map":"map-module_b-map__29r3m","b-map-content":"map-module_b-map-content__sMaJG","b-map-loading":"map-module_b-map-loading__qc4a8","b-map-failed":"map-module_b-map-failed__-w-tX"};
|
|
7
7
|
styleInject_es(css_248z);
|
|
8
8
|
|
|
9
9
|
module.exports = styles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { PropType } from 'vue';
|
|
2
|
+
import type { ExtractPublicPropTypes } from '../../../_utils';
|
|
3
|
+
export declare const polygonProps: {
|
|
4
|
+
readonly visible: {
|
|
5
|
+
readonly type: BooleanConstructor;
|
|
6
|
+
readonly default: true;
|
|
7
|
+
};
|
|
8
|
+
readonly points: {
|
|
9
|
+
readonly type: PropType<string[] | BMapGL.Point[] | number[][]>;
|
|
10
|
+
};
|
|
11
|
+
readonly strokeColor: {
|
|
12
|
+
readonly type: StringConstructor;
|
|
13
|
+
readonly default: "#000";
|
|
14
|
+
};
|
|
15
|
+
readonly fillColor: {
|
|
16
|
+
readonly type: StringConstructor;
|
|
17
|
+
readonly default: "#fff";
|
|
18
|
+
};
|
|
19
|
+
readonly strokeWeight: {
|
|
20
|
+
readonly type: NumberConstructor;
|
|
21
|
+
readonly default: 2;
|
|
22
|
+
};
|
|
23
|
+
readonly strokeOpacity: {
|
|
24
|
+
readonly type: NumberConstructor;
|
|
25
|
+
readonly default: 1;
|
|
26
|
+
};
|
|
27
|
+
readonly fillOpacity: {
|
|
28
|
+
readonly type: NumberConstructor;
|
|
29
|
+
readonly default: 0.3;
|
|
30
|
+
};
|
|
31
|
+
readonly strokeStyle: {
|
|
32
|
+
readonly type: PropType<"solid" | "dashed">;
|
|
33
|
+
readonly default: "solid";
|
|
34
|
+
};
|
|
35
|
+
readonly enableMassClear: {
|
|
36
|
+
readonly type: BooleanConstructor;
|
|
37
|
+
readonly default: true;
|
|
38
|
+
};
|
|
39
|
+
readonly enableEditing: {
|
|
40
|
+
readonly type: BooleanConstructor;
|
|
41
|
+
readonly default: false;
|
|
42
|
+
};
|
|
43
|
+
readonly isBoundary: {
|
|
44
|
+
readonly type: BooleanConstructor;
|
|
45
|
+
};
|
|
46
|
+
readonly enableClicking: {
|
|
47
|
+
readonly type: BooleanConstructor;
|
|
48
|
+
readonly default: true;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type PolygonProps = ExtractPublicPropTypes<typeof polygonProps>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const polygonProps = {
|
|
4
|
+
visible: {
|
|
5
|
+
type: Boolean,
|
|
6
|
+
default: true
|
|
7
|
+
},
|
|
8
|
+
points: {
|
|
9
|
+
type: Array
|
|
10
|
+
},
|
|
11
|
+
strokeColor: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: "#000"
|
|
14
|
+
},
|
|
15
|
+
fillColor: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: "#fff"
|
|
18
|
+
},
|
|
19
|
+
strokeWeight: {
|
|
20
|
+
type: Number,
|
|
21
|
+
default: 2
|
|
22
|
+
},
|
|
23
|
+
strokeOpacity: {
|
|
24
|
+
type: Number,
|
|
25
|
+
default: 1
|
|
26
|
+
},
|
|
27
|
+
fillOpacity: {
|
|
28
|
+
type: Number,
|
|
29
|
+
default: 0.3
|
|
30
|
+
},
|
|
31
|
+
strokeStyle: {
|
|
32
|
+
type: String,
|
|
33
|
+
default: "solid"
|
|
34
|
+
},
|
|
35
|
+
enableMassClear: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: true
|
|
38
|
+
},
|
|
39
|
+
enableEditing: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: false
|
|
42
|
+
},
|
|
43
|
+
isBoundary: {
|
|
44
|
+
type: Boolean
|
|
45
|
+
},
|
|
46
|
+
enableClicking: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: true
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
exports.polygonProps = polygonProps;
|
|
53
|
+
//# sourceMappingURL=polygon-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon-props.js","sources":["../../../../src/overlay/polygon/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/polygon/src/polygon-props.ts"],"sourcesContent":["import type { PropType } from 'vue'\r\nimport type { ExtractPublicPropTypes } from '../../../_utils'\r\n\r\nexport const polygonProps = {\r\n visible: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n points: {\r\n type: Array as PropType<string[] | BMapGL.Point[] | number[][]>,\r\n },\r\n strokeColor: {\r\n type: String,\r\n default: '#000',\r\n },\r\n fillColor: {\r\n type: String,\r\n default: '#fff',\r\n },\r\n strokeWeight: {\r\n type: Number,\r\n default: 2,\r\n },\r\n strokeOpacity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n fillOpacity: {\r\n type: Number,\r\n default: 0.3,\r\n },\r\n strokeStyle: {\r\n type: String as PropType<'solid' | 'dashed'>,\r\n default: 'solid',\r\n },\r\n enableMassClear: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n enableEditing: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n isBoundary: {\r\n type: Boolean,\r\n },\r\n enableClicking: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n} as const\r\n\r\nexport type PolygonProps = ExtractPublicPropTypes<typeof polygonProps>\r\n"],"names":[],"mappings":";;AAGO,MAAM,YAAA,GAAe;AAAA,EAC1B,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACP;AAAA,EACD,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,WAAA,EAAa;AAAA,IACX,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,aAAA,EAAe;AAAA,IACb,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,UAAA,EAAY;AAAA,IACV,IAAA,EAAM;AAAA,GACP;AAAA,EACD,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;;;;;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
readonly visible: {
|
|
3
|
+
readonly type: BooleanConstructor;
|
|
4
|
+
readonly default: true;
|
|
5
|
+
};
|
|
6
|
+
readonly points: {
|
|
7
|
+
readonly type: import("vue").PropType<string[] | BMapGL.Point[] | number[][]>;
|
|
8
|
+
};
|
|
9
|
+
readonly strokeColor: {
|
|
10
|
+
readonly type: StringConstructor;
|
|
11
|
+
readonly default: "#000";
|
|
12
|
+
};
|
|
13
|
+
readonly fillColor: {
|
|
14
|
+
readonly type: StringConstructor;
|
|
15
|
+
readonly default: "#fff";
|
|
16
|
+
};
|
|
17
|
+
readonly strokeWeight: {
|
|
18
|
+
readonly type: NumberConstructor;
|
|
19
|
+
readonly default: 2;
|
|
20
|
+
};
|
|
21
|
+
readonly strokeOpacity: {
|
|
22
|
+
readonly type: NumberConstructor;
|
|
23
|
+
readonly default: 1;
|
|
24
|
+
};
|
|
25
|
+
readonly fillOpacity: {
|
|
26
|
+
readonly type: NumberConstructor;
|
|
27
|
+
readonly default: 0.3;
|
|
28
|
+
};
|
|
29
|
+
readonly strokeStyle: {
|
|
30
|
+
readonly type: import("vue").PropType<"solid" | "dashed">;
|
|
31
|
+
readonly default: "solid";
|
|
32
|
+
};
|
|
33
|
+
readonly enableMassClear: {
|
|
34
|
+
readonly type: BooleanConstructor;
|
|
35
|
+
readonly default: true;
|
|
36
|
+
};
|
|
37
|
+
readonly enableEditing: {
|
|
38
|
+
readonly type: BooleanConstructor;
|
|
39
|
+
readonly default: false;
|
|
40
|
+
};
|
|
41
|
+
readonly isBoundary: {
|
|
42
|
+
readonly type: BooleanConstructor;
|
|
43
|
+
};
|
|
44
|
+
readonly enableClicking: {
|
|
45
|
+
readonly type: BooleanConstructor;
|
|
46
|
+
readonly default: true;
|
|
47
|
+
};
|
|
48
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
49
|
+
readonly visible: {
|
|
50
|
+
readonly type: BooleanConstructor;
|
|
51
|
+
readonly default: true;
|
|
52
|
+
};
|
|
53
|
+
readonly points: {
|
|
54
|
+
readonly type: import("vue").PropType<string[] | BMapGL.Point[] | number[][]>;
|
|
55
|
+
};
|
|
56
|
+
readonly strokeColor: {
|
|
57
|
+
readonly type: StringConstructor;
|
|
58
|
+
readonly default: "#000";
|
|
59
|
+
};
|
|
60
|
+
readonly fillColor: {
|
|
61
|
+
readonly type: StringConstructor;
|
|
62
|
+
readonly default: "#fff";
|
|
63
|
+
};
|
|
64
|
+
readonly strokeWeight: {
|
|
65
|
+
readonly type: NumberConstructor;
|
|
66
|
+
readonly default: 2;
|
|
67
|
+
};
|
|
68
|
+
readonly strokeOpacity: {
|
|
69
|
+
readonly type: NumberConstructor;
|
|
70
|
+
readonly default: 1;
|
|
71
|
+
};
|
|
72
|
+
readonly fillOpacity: {
|
|
73
|
+
readonly type: NumberConstructor;
|
|
74
|
+
readonly default: 0.3;
|
|
75
|
+
};
|
|
76
|
+
readonly strokeStyle: {
|
|
77
|
+
readonly type: import("vue").PropType<"solid" | "dashed">;
|
|
78
|
+
readonly default: "solid";
|
|
79
|
+
};
|
|
80
|
+
readonly enableMassClear: {
|
|
81
|
+
readonly type: BooleanConstructor;
|
|
82
|
+
readonly default: true;
|
|
83
|
+
};
|
|
84
|
+
readonly enableEditing: {
|
|
85
|
+
readonly type: BooleanConstructor;
|
|
86
|
+
readonly default: false;
|
|
87
|
+
};
|
|
88
|
+
readonly isBoundary: {
|
|
89
|
+
readonly type: BooleanConstructor;
|
|
90
|
+
};
|
|
91
|
+
readonly enableClicking: {
|
|
92
|
+
readonly type: BooleanConstructor;
|
|
93
|
+
readonly default: true;
|
|
94
|
+
};
|
|
95
|
+
}>> & Readonly<{}>, {
|
|
96
|
+
readonly visible: boolean;
|
|
97
|
+
readonly strokeColor: string;
|
|
98
|
+
readonly fillColor: string;
|
|
99
|
+
readonly strokeWeight: number;
|
|
100
|
+
readonly strokeOpacity: number;
|
|
101
|
+
readonly fillOpacity: number;
|
|
102
|
+
readonly strokeStyle: "solid" | "dashed";
|
|
103
|
+
readonly enableMassClear: boolean;
|
|
104
|
+
readonly enableEditing: boolean;
|
|
105
|
+
readonly isBoundary: boolean;
|
|
106
|
+
readonly enableClicking: boolean;
|
|
107
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
108
|
+
export default _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var polygonProps = require('./polygon-props.js');
|
|
5
|
+
var useMapInstance = require('../../../_mixins/use-map-instance.js');
|
|
6
|
+
var map = require('../../../_utils/map.js');
|
|
7
|
+
|
|
8
|
+
var polygon = /* @__PURE__ */ vue.defineComponent({
|
|
9
|
+
name: "Polygon",
|
|
10
|
+
props: polygonProps.polygonProps,
|
|
11
|
+
setup: (props) => {
|
|
12
|
+
const mapInstance = useMapInstance();
|
|
13
|
+
let overlay = null;
|
|
14
|
+
const setStrokeColor = (color) => {
|
|
15
|
+
overlay && overlay.setStrokeColor(color);
|
|
16
|
+
};
|
|
17
|
+
const startWatchProps = () => {
|
|
18
|
+
vue.watch(() => props.strokeColor, setStrokeColor);
|
|
19
|
+
vue.watch(() => props.visible, (n) => {
|
|
20
|
+
mapInstance()[n ? "addOverlay" : "removeOverlay"](overlay);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
const init = () => {
|
|
24
|
+
const {
|
|
25
|
+
points,
|
|
26
|
+
visible,
|
|
27
|
+
strokeColor,
|
|
28
|
+
fillColor,
|
|
29
|
+
strokeWeight,
|
|
30
|
+
strokeOpacity,
|
|
31
|
+
fillOpacity,
|
|
32
|
+
strokeStyle,
|
|
33
|
+
enableMassClear,
|
|
34
|
+
enableEditing,
|
|
35
|
+
enableClicking
|
|
36
|
+
} = props;
|
|
37
|
+
if (!points || !points.length) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
overlay = new BMapGL.Polygon(map.listToMapPoints(points), {
|
|
41
|
+
strokeColor,
|
|
42
|
+
fillColor,
|
|
43
|
+
strokeWeight,
|
|
44
|
+
strokeOpacity,
|
|
45
|
+
fillOpacity,
|
|
46
|
+
strokeStyle,
|
|
47
|
+
enableMassClear,
|
|
48
|
+
enableEditing,
|
|
49
|
+
enableClicking
|
|
50
|
+
});
|
|
51
|
+
visible && mapInstance().addOverlay(overlay);
|
|
52
|
+
startWatchProps();
|
|
53
|
+
};
|
|
54
|
+
init();
|
|
55
|
+
vue.onUnmounted(() => {
|
|
56
|
+
if (overlay) {
|
|
57
|
+
mapInstance().removeOverlay(overlay);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return () => vue.createVNode(vue.Fragment, null, null);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
module.exports = polygon;
|
|
65
|
+
//# sourceMappingURL=polygon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polygon.js","sources":["../../../../src/overlay/polygon/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/polygon/src/polygon.tsx"],"sourcesContent":["import { defineComponent, onUnmounted, watch } from 'vue'\r\nimport { useMapInstance } from '../../../_mixins'\r\nimport { listToMapPoints } from '../../../_utils'\r\nimport { polygonProps } from './polygon-props'\r\n\r\nexport default defineComponent({\r\n name: 'Polygon',\r\n props: polygonProps,\r\n setup: (props) => {\r\n const mapInstance = useMapInstance()\r\n\r\n let overlay: BMapGL.Polygon | null = null\r\n\r\n const setStrokeColor = (color: string) => {\r\n overlay && overlay.setStrokeColor(color)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => props.strokeColor, setStrokeColor)\r\n watch(() => props.visible, (n) => {\r\n mapInstance()[n ? 'addOverlay' : 'removeOverlay'](overlay!)\r\n })\r\n }\r\n\r\n const init = () => {\r\n const { points, visible, strokeColor, fillColor, strokeWeight, strokeOpacity, fillOpacity, strokeStyle, enableMassClear, enableEditing, enableClicking } = props\r\n if (!points || !points.length) {\r\n return\r\n }\r\n overlay = new BMapGL.Polygon(listToMapPoints(points), {\r\n strokeColor,\r\n fillColor,\r\n strokeWeight,\r\n strokeOpacity,\r\n fillOpacity,\r\n strokeStyle,\r\n enableMassClear,\r\n enableEditing,\r\n enableClicking,\r\n })\r\n visible && mapInstance().addOverlay(overlay)\r\n startWatchProps()\r\n }\r\n\r\n init()\r\n\r\n onUnmounted(() => {\r\n if (overlay) {\r\n mapInstance().removeOverlay(overlay)\r\n }\r\n })\r\n\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","props","polygonProps","setup","mapInstance","useMapInstance","overlay","setStrokeColor","color","startWatchProps","watch","strokeColor","visible","n","init","points","fillColor","strokeWeight","strokeOpacity","fillOpacity","strokeStyle","enableMassClear","enableEditing","enableClicking","length","BMapGL","Polygon","listToMapPoints","addOverlay","onUnmounted","removeOverlay","_createVNode","_Fragment"],"mappings":";;;;;;;AAKA,kDAA+B;AAAA,EAC7BA,IAAAA,EAAM,SAAA;AAAA,EACNC,KAAAA,EAAOC,yBAAAA;AAAAA,EACPC,OAAQF,CAAAA,KAAAA,KAAS;AACf,IAAA,MAAMG,cAAcC,cAAAA,EAAc;AAElC,IAAA,IAAIC,OAAAA,GAAiC,IAAA;AAErC,IAAA,MAAMC,iBAAkBC,CAAAA,KAAAA,KAAiB;AACvCF,MAAAA,OAAAA,IAAWA,OAAAA,CAAQC,eAAeC,KAAK,CAAA;AAAA,IACzC,CAAA;AAEA,IAAA,MAAMC,kBAAkBA,MAAK;AAC3BC,MAAAA,SAAAA,CAAM,MAAMT,KAAAA,CAAMU,WAAAA,EAAaJ,cAAc,CAAA;AAC7CG,MAAAA,SAAAA,CAAM,MAAMT,KAAAA,CAAMW,OAAAA,EAAUC,CAAAA,CAAAA,KAAK;AAC/BT,QAAAA,WAAAA,EAAW,CAAGS,CAAAA,GAAI,YAAA,GAAe,eAAe,EAAEP,OAAQ,CAAA;AAAA,MAC5D,CAAC,CAAA;AAAA,IACH,CAAA;AAEA,IAAA,MAAMQ,OAAOA,MAAK;AAChB,MAAA,MAAM;AAAA,QAAEC,MAAAA;AAAAA,QAAQH,OAAAA;AAAAA,QAASD,WAAAA;AAAAA,QAAaK,SAAAA;AAAAA,QAAWC,YAAAA;AAAAA,QAAcC,aAAAA;AAAAA,QAAeC,WAAAA;AAAAA,QAAaC,WAAAA;AAAAA,QAAaC,eAAAA;AAAAA,QAAiBC,aAAAA;AAAAA,QAAeC;AAAAA,OAAc,GAAKtB,KAAAA;AAC3J,MAAA,IAAI,CAACc,MAAAA,IAAU,CAACA,MAAAA,CAAOS,MAAAA,EAAQ;AAC7B,QAAA;AAAA,MACF;AACAlB,MAAAA,OAAAA,GAAU,IAAImB,MAAAA,CAAOC,OAAAA,CAAQC,mBAAAA,CAAgBZ,MAAM,CAAA,EAAG;AAAA,QACpDJ,WAAAA;AAAAA,QACAK,SAAAA;AAAAA,QACAC,YAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC,WAAAA;AAAAA,QACAC,WAAAA;AAAAA,QACAC,eAAAA;AAAAA,QACAC,aAAAA;AAAAA,QACAC;AAAAA,OACD,CAAA;AACDX,MAAAA,OAAAA,IAAWR,WAAAA,EAAW,CAAGwB,UAAAA,CAAWtB,OAAO,CAAA;AAC3CG,MAAAA,eAAAA;IACF,CAAA;AAEAK,IAAAA,IAAAA;AAEAe,IAAAA,eAAAA,CAAY,MAAK;AACf,MAAA,IAAIvB,OAAAA,EAAS;AACXF,QAAAA,WAAAA,GAAc0B,cAAcxB,OAAO,CAAA;AAAA,MACrC;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,MAAAyB,eAAAA,CAAAC,YAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,EACT;AACD,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as BSector } from './src/sector';
|