@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/dist/index.js
CHANGED
|
@@ -50,6 +50,19 @@
|
|
|
50
50
|
document.body.appendChild(script);
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
+
function listToMapPoints(points) {
|
|
54
|
+
if (!points || points.length === 0) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
const first = points[0];
|
|
58
|
+
if (Array.isArray(first)) {
|
|
59
|
+
return points.map(([lng, lat]) => new BMapGL.Point(lng, lat));
|
|
60
|
+
}
|
|
61
|
+
if (typeof first === "string") {
|
|
62
|
+
return points;
|
|
63
|
+
}
|
|
64
|
+
return points;
|
|
65
|
+
}
|
|
53
66
|
|
|
54
67
|
function ensureValidVNode(vnodes) {
|
|
55
68
|
return vnodes.some((child) => {
|
|
@@ -101,22 +114,42 @@
|
|
|
101
114
|
}
|
|
102
115
|
});
|
|
103
116
|
|
|
117
|
+
var tile = /* @__PURE__ */ vue.defineComponent({
|
|
118
|
+
name: "TileLayer",
|
|
119
|
+
setup() {
|
|
120
|
+
return () => vue.createVNode("div", null, [vue.createTextVNode("Tile")]);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
|
|
104
124
|
function useConfig(props = {}) {
|
|
105
|
-
const
|
|
125
|
+
const BConfigProvider = vue.inject(configProviderInjectionKey, null);
|
|
106
126
|
return {
|
|
107
|
-
mergedStatusRef:
|
|
127
|
+
mergedStatusRef: BConfigProvider?.mergedStatusRef,
|
|
108
128
|
mergedMapSetRef: vue.computed(() => {
|
|
109
|
-
const { zoom, center, minZoom, maxZoom } = props;
|
|
129
|
+
const { zoom, center, heading, minZoom, maxZoom, enableScrollWheelZoom, enableDragging, tilt, enableTilt, mapType, enableAutoResize, enableTiltGestures, enableRotate, enableRotateGestures, displayOptions } = props;
|
|
110
130
|
return {
|
|
111
|
-
zoom: zoom ??
|
|
112
|
-
center: center ??
|
|
113
|
-
|
|
114
|
-
|
|
131
|
+
zoom: zoom ?? BConfigProvider?.mergedMapSetRef.value?.zoom,
|
|
132
|
+
center: center ?? BConfigProvider?.mergedMapSetRef.value?.center,
|
|
133
|
+
heading: heading ?? BConfigProvider?.mergedMapSetRef.value?.heading,
|
|
134
|
+
minZoom: minZoom ?? BConfigProvider?.mergedMapSetRef.value?.minZoom,
|
|
135
|
+
maxZoom: maxZoom ?? BConfigProvider?.mergedMapSetRef.value?.maxZoom,
|
|
136
|
+
enableScrollWheelZoom: enableScrollWheelZoom ?? BConfigProvider?.mergedMapSetRef.value?.enableScrollWheelZoom,
|
|
137
|
+
enableDragging: enableDragging ?? BConfigProvider?.mergedMapSetRef.value?.enableDragging,
|
|
138
|
+
tilt: tilt ?? BConfigProvider?.mergedMapSetRef.value?.tilt,
|
|
139
|
+
enableTilt: enableTilt ?? BConfigProvider?.mergedMapSetRef.value?.enableTilt,
|
|
140
|
+
mapType: mapType ?? BConfigProvider?.mergedMapSetRef.value?.mapType,
|
|
141
|
+
enableAutoResize: enableAutoResize ?? BConfigProvider?.mergedMapSetRef.value?.enableAutoResize,
|
|
142
|
+
enableTiltGestures: enableTiltGestures ?? BConfigProvider?.mergedMapSetRef.value?.enableTiltGestures,
|
|
143
|
+
enableRotate: enableRotate ?? BConfigProvider?.mergedMapSetRef.value?.enableRotate,
|
|
144
|
+
enableRotateGestures: enableRotateGestures ?? BConfigProvider?.mergedMapSetRef.value?.enableRotateGestures,
|
|
145
|
+
displayOptions: displayOptions ?? BConfigProvider?.mergedMapSetRef.value?.displayOptions
|
|
115
146
|
};
|
|
116
147
|
})
|
|
117
148
|
};
|
|
118
149
|
}
|
|
119
150
|
|
|
151
|
+
const mapInjectionKey = /* @__PURE__ */ Symbol("b-map");
|
|
152
|
+
|
|
120
153
|
const mapProps = {
|
|
121
154
|
maxZoom: {
|
|
122
155
|
type: Number,
|
|
@@ -126,6 +159,10 @@
|
|
|
126
159
|
type: Number,
|
|
127
160
|
default: 0
|
|
128
161
|
},
|
|
162
|
+
heading: {
|
|
163
|
+
type: Number,
|
|
164
|
+
default: 0
|
|
165
|
+
},
|
|
129
166
|
center: {
|
|
130
167
|
type: Object,
|
|
131
168
|
default: [116.403901, 39.915185]
|
|
@@ -135,10 +172,47 @@
|
|
|
135
172
|
default: 14
|
|
136
173
|
},
|
|
137
174
|
class: String,
|
|
175
|
+
contentClass: String,
|
|
138
176
|
enableScrollWheelZoom: {
|
|
139
177
|
type: Boolean,
|
|
140
178
|
default: false
|
|
141
|
-
}
|
|
179
|
+
},
|
|
180
|
+
enableDragging: {
|
|
181
|
+
type: Boolean,
|
|
182
|
+
default: true
|
|
183
|
+
},
|
|
184
|
+
tilt: {
|
|
185
|
+
type: Number,
|
|
186
|
+
default: 0
|
|
187
|
+
},
|
|
188
|
+
enableTilt: {
|
|
189
|
+
type: Boolean,
|
|
190
|
+
default: false
|
|
191
|
+
},
|
|
192
|
+
mapType: {
|
|
193
|
+
type: String,
|
|
194
|
+
default: "BMAP_NORMAL_MAP"
|
|
195
|
+
},
|
|
196
|
+
enableAutoResize: {
|
|
197
|
+
type: Boolean,
|
|
198
|
+
default: true
|
|
199
|
+
},
|
|
200
|
+
enableTiltGestures: {
|
|
201
|
+
type: Boolean,
|
|
202
|
+
default: false
|
|
203
|
+
},
|
|
204
|
+
enableRotate: {
|
|
205
|
+
type: Boolean,
|
|
206
|
+
default: false
|
|
207
|
+
},
|
|
208
|
+
enableRotateGestures: {
|
|
209
|
+
type: Boolean,
|
|
210
|
+
default: false
|
|
211
|
+
},
|
|
212
|
+
displayOptions: {
|
|
213
|
+
type: Object
|
|
214
|
+
},
|
|
215
|
+
onInitd: Function
|
|
142
216
|
};
|
|
143
217
|
|
|
144
218
|
function styleInject(css, ref) {
|
|
@@ -168,8 +242,8 @@
|
|
|
168
242
|
}
|
|
169
243
|
}
|
|
170
244
|
|
|
171
|
-
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%)}";
|
|
172
|
-
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"};
|
|
245
|
+
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%)}";
|
|
246
|
+
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"};
|
|
173
247
|
styleInject(css_248z);
|
|
174
248
|
|
|
175
249
|
var map = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -185,63 +259,391 @@
|
|
|
185
259
|
} = useConfig(props);
|
|
186
260
|
const contentRef = vue.ref();
|
|
187
261
|
let map = null;
|
|
262
|
+
const initd = vue.ref(false);
|
|
263
|
+
vue.provide(mapInjectionKey, {
|
|
264
|
+
mapInstance: () => map
|
|
265
|
+
});
|
|
188
266
|
const setCenterAndZoom = (center) => {
|
|
189
267
|
if (typeof center === "string") {
|
|
190
|
-
map
|
|
268
|
+
map?.centerAndZoom(center, mergedMapSetRef.value.zoom);
|
|
191
269
|
} else if (Array.isArray(center)) {
|
|
192
|
-
map
|
|
270
|
+
map?.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
|
|
193
271
|
} else {
|
|
194
|
-
map
|
|
272
|
+
map?.centerAndZoom(center, mergedMapSetRef.value.zoom);
|
|
195
273
|
}
|
|
196
274
|
};
|
|
197
275
|
const setScrollWheelZoom = (enableScrollWheelZoom) => {
|
|
198
276
|
enableScrollWheelZoom ? map.enableScrollWheelZoom() : map.disableScrollWheelZoom();
|
|
199
277
|
};
|
|
200
|
-
const
|
|
278
|
+
const setDisplayOptions = (displayOptions) => {
|
|
279
|
+
map?.setDisplayOptions(displayOptions || {});
|
|
280
|
+
};
|
|
281
|
+
const setTilt = (tilt) => {
|
|
282
|
+
map?.setTilt(tilt ?? 0);
|
|
283
|
+
};
|
|
284
|
+
const setHeading = (heading) => {
|
|
285
|
+
map?.setHeading(heading ?? 0);
|
|
286
|
+
};
|
|
287
|
+
const setDragging = (enableDragging) => {
|
|
288
|
+
enableDragging ? map.enableDragging() : map.disableDragging();
|
|
289
|
+
};
|
|
290
|
+
const setMapType = (mapType) => {
|
|
291
|
+
window[mapType] !== void 0 && map.setMapType(window[mapType]);
|
|
292
|
+
};
|
|
293
|
+
const initMapOptions = () => {
|
|
201
294
|
const {
|
|
202
295
|
center,
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
296
|
+
heading,
|
|
297
|
+
enableScrollWheelZoom,
|
|
298
|
+
tilt,
|
|
299
|
+
enableDragging
|
|
206
300
|
} = mergedMapSetRef.value;
|
|
207
|
-
|
|
208
|
-
maxZoom,
|
|
209
|
-
minZoom
|
|
210
|
-
});
|
|
301
|
+
setHeading(heading);
|
|
211
302
|
setCenterAndZoom(center);
|
|
212
303
|
setScrollWheelZoom(enableScrollWheelZoom);
|
|
304
|
+
setTilt(tilt);
|
|
305
|
+
setDragging(enableDragging);
|
|
213
306
|
};
|
|
214
307
|
const startWatchProps = () => {
|
|
215
308
|
vue.watch(() => mergedMapSetRef.value.center, setCenterAndZoom, {
|
|
216
309
|
deep: true
|
|
217
310
|
});
|
|
218
311
|
vue.watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
|
|
312
|
+
vue.watch(() => mergedMapSetRef.value.displayOptions, setDisplayOptions);
|
|
313
|
+
vue.watch(() => mergedMapSetRef.value.tilt, setTilt);
|
|
314
|
+
vue.watch(() => mergedMapSetRef.value.heading, setHeading);
|
|
315
|
+
vue.watch(() => mergedMapSetRef.value.enableDragging, setDragging);
|
|
316
|
+
vue.watch(() => mergedMapSetRef.value.mapType, setMapType);
|
|
317
|
+
};
|
|
318
|
+
const init = () => {
|
|
319
|
+
const {
|
|
320
|
+
maxZoom,
|
|
321
|
+
minZoom,
|
|
322
|
+
enableTilt,
|
|
323
|
+
mapType,
|
|
324
|
+
enableAutoResize,
|
|
325
|
+
enableTiltGestures,
|
|
326
|
+
enableRotate,
|
|
327
|
+
enableRotateGestures,
|
|
328
|
+
displayOptions
|
|
329
|
+
} = mergedMapSetRef.value;
|
|
330
|
+
map = new BMapGL.Map(contentRef.value, {
|
|
331
|
+
maxZoom,
|
|
332
|
+
minZoom,
|
|
333
|
+
enableTilt,
|
|
334
|
+
mapType: window[mapType],
|
|
335
|
+
enableAutoResize,
|
|
336
|
+
enableTiltGestures,
|
|
337
|
+
enableRotate,
|
|
338
|
+
enableRotateGestures,
|
|
339
|
+
displayOptions
|
|
340
|
+
});
|
|
341
|
+
const {
|
|
342
|
+
onInitd
|
|
343
|
+
} = props;
|
|
344
|
+
initMapOptions();
|
|
345
|
+
startWatchProps();
|
|
346
|
+
onInitd?.({
|
|
347
|
+
map
|
|
348
|
+
});
|
|
349
|
+
initd.value = true;
|
|
219
350
|
};
|
|
220
351
|
vue.onMounted(() => {
|
|
221
352
|
vue.watchEffect(() => {
|
|
222
|
-
if (mergedStatusRef?.value === "loaded" && !
|
|
353
|
+
if (mergedStatusRef?.value === "loaded" && !initd.value) {
|
|
223
354
|
vue.nextTick(init);
|
|
224
|
-
startWatchProps();
|
|
225
355
|
}
|
|
226
356
|
});
|
|
227
357
|
});
|
|
228
358
|
vue.onUnmounted(() => {
|
|
229
359
|
if (map) {
|
|
230
360
|
try {
|
|
231
|
-
map
|
|
361
|
+
map?.destroy();
|
|
232
362
|
} catch (error) {
|
|
233
363
|
console.error(`[Vue3 BMapGL]: ${error.message}`);
|
|
234
364
|
}
|
|
235
365
|
}
|
|
236
366
|
});
|
|
237
367
|
return () => vue.createVNode("div", {
|
|
368
|
+
"class": [[styles["b-map"]], props.class]
|
|
369
|
+
}, [vue.createVNode("div", {
|
|
238
370
|
"ref": contentRef,
|
|
239
|
-
"class": [styles["b-map-content"], props.
|
|
371
|
+
"class": [styles["b-map-content"], props.contentClass]
|
|
240
372
|
}, [mergedStatusRef?.value === "pending" && resolveWrappedSlot(slots.loading, () => vue.createVNode("div", {
|
|
241
373
|
"class": [styles["b-map-loading"]]
|
|
242
374
|
}, [vue.createTextVNode("map loading...")])), mergedStatusRef?.value === "failed" && resolveWrappedSlot(slots.failed, () => vue.createVNode("div", {
|
|
243
375
|
"class": [styles["b-map-failed"]]
|
|
244
|
-
}, [vue.createTextVNode("map failed")])), slots.default?.()]);
|
|
376
|
+
}, [vue.createTextVNode("map failed")]))]), initd.value && slots.default?.()]);
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
function useMapInstance() {
|
|
381
|
+
const BMap = vue.inject(mapInjectionKey, null);
|
|
382
|
+
return BMap.mapInstance;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
const xyzLayerProps = {
|
|
386
|
+
visible: {
|
|
387
|
+
type: Boolean,
|
|
388
|
+
default: true
|
|
389
|
+
},
|
|
390
|
+
getTile: {
|
|
391
|
+
type: Function
|
|
392
|
+
},
|
|
393
|
+
useThumbData: {
|
|
394
|
+
type: Boolean,
|
|
395
|
+
default: false
|
|
396
|
+
},
|
|
397
|
+
xTemplate: {
|
|
398
|
+
type: Function
|
|
399
|
+
},
|
|
400
|
+
yTemplate: {
|
|
401
|
+
type: Function
|
|
402
|
+
},
|
|
403
|
+
zTemplate: {
|
|
404
|
+
type: Function
|
|
405
|
+
},
|
|
406
|
+
bTemplate: {
|
|
407
|
+
type: Function
|
|
408
|
+
},
|
|
409
|
+
minZoom: {
|
|
410
|
+
type: Number,
|
|
411
|
+
default: 3
|
|
412
|
+
},
|
|
413
|
+
maxZoom: {
|
|
414
|
+
type: Number,
|
|
415
|
+
default: 23
|
|
416
|
+
},
|
|
417
|
+
extent: {
|
|
418
|
+
type: Array
|
|
419
|
+
},
|
|
420
|
+
extentCRSIsWGS84: {
|
|
421
|
+
type: Boolean,
|
|
422
|
+
default: false
|
|
423
|
+
},
|
|
424
|
+
boundary: {
|
|
425
|
+
type: Array
|
|
426
|
+
},
|
|
427
|
+
zIndex: {
|
|
428
|
+
type: Number,
|
|
429
|
+
default: 1
|
|
430
|
+
},
|
|
431
|
+
zIndexTop: {
|
|
432
|
+
type: Boolean,
|
|
433
|
+
default: false
|
|
434
|
+
},
|
|
435
|
+
tms: {
|
|
436
|
+
type: Boolean,
|
|
437
|
+
default: false
|
|
438
|
+
}
|
|
439
|
+
};
|
|
440
|
+
|
|
441
|
+
var xyz = /* @__PURE__ */ vue.defineComponent({
|
|
442
|
+
name: "XyzLayer",
|
|
443
|
+
props: xyzLayerProps,
|
|
444
|
+
setup(props) {
|
|
445
|
+
const mapInstance = useMapInstance();
|
|
446
|
+
let layer = null;
|
|
447
|
+
const setZIndex = (zIndex) => {
|
|
448
|
+
layer?.setZIndex(zIndex);
|
|
449
|
+
};
|
|
450
|
+
const setBoundary = (boundary) => {
|
|
451
|
+
boundary && !boundary.length ? layer?.addBoundary(boundary) : layer?.clearBoundary();
|
|
452
|
+
};
|
|
453
|
+
const setZIndexTop = (zIndexTop) => {
|
|
454
|
+
zIndexTop && layer?.setZIndexTop();
|
|
455
|
+
};
|
|
456
|
+
const initLayerOptions = () => {
|
|
457
|
+
const {
|
|
458
|
+
zIndex,
|
|
459
|
+
zIndexTop
|
|
460
|
+
} = props;
|
|
461
|
+
setZIndex(zIndex);
|
|
462
|
+
setZIndexTop(zIndexTop);
|
|
463
|
+
};
|
|
464
|
+
const startWatchProps = () => {
|
|
465
|
+
vue.watch(() => props.zIndex, setZIndex);
|
|
466
|
+
vue.watch(() => props.boundary, setBoundary);
|
|
467
|
+
};
|
|
468
|
+
const init = () => {
|
|
469
|
+
const {
|
|
470
|
+
visible,
|
|
471
|
+
getTile,
|
|
472
|
+
xTemplate,
|
|
473
|
+
yTemplate,
|
|
474
|
+
zTemplate,
|
|
475
|
+
bTemplate,
|
|
476
|
+
minZoom,
|
|
477
|
+
maxZoom,
|
|
478
|
+
extent,
|
|
479
|
+
extentCRSIsWGS84,
|
|
480
|
+
boundary,
|
|
481
|
+
useThumbData,
|
|
482
|
+
tms
|
|
483
|
+
} = props;
|
|
484
|
+
layer = new BMapGL.XYZLayer({
|
|
485
|
+
xTemplate,
|
|
486
|
+
yTemplate,
|
|
487
|
+
zTemplate,
|
|
488
|
+
bTemplate,
|
|
489
|
+
minZoom,
|
|
490
|
+
maxZoom,
|
|
491
|
+
extent,
|
|
492
|
+
extentCRSIsWGS84,
|
|
493
|
+
boundary,
|
|
494
|
+
useThumbData,
|
|
495
|
+
tms
|
|
496
|
+
});
|
|
497
|
+
initLayerOptions();
|
|
498
|
+
if (visible) {
|
|
499
|
+
if (getTile) {
|
|
500
|
+
mapInstance().addTileLayer(layer);
|
|
501
|
+
layer.loadRasterTileData = function(tileInfo, callback) {
|
|
502
|
+
const key = this.getTileKey(tileInfo);
|
|
503
|
+
const handleImageLoad = (image) => {
|
|
504
|
+
image.tileInfo = tileInfo;
|
|
505
|
+
callback && callback(image, key);
|
|
506
|
+
};
|
|
507
|
+
const handleError = () => callback && callback(null, key);
|
|
508
|
+
getTile(tileInfo, (img) => {
|
|
509
|
+
if (typeof img === "string" || img instanceof HTMLCanvasElement) {
|
|
510
|
+
const image = new Image();
|
|
511
|
+
image.crossOrigin = "anonymous";
|
|
512
|
+
image.onload = () => handleImageLoad(image);
|
|
513
|
+
image.onerror = handleError;
|
|
514
|
+
image.src = typeof img === "string" ? img : img.toDataURL();
|
|
515
|
+
} else if (img instanceof HTMLImageElement) {
|
|
516
|
+
handleImageLoad(img);
|
|
517
|
+
} else {
|
|
518
|
+
handleError();
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
};
|
|
522
|
+
} else {
|
|
523
|
+
mapInstance().addTileLayer(layer);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
startWatchProps();
|
|
527
|
+
};
|
|
528
|
+
init();
|
|
529
|
+
vue.onUnmounted(() => {
|
|
530
|
+
if (layer) {
|
|
531
|
+
mapInstance().removeTileLayer(layer);
|
|
532
|
+
}
|
|
533
|
+
});
|
|
534
|
+
return () => vue.createVNode(vue.Fragment, null, null);
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
|
|
538
|
+
const polygonProps = {
|
|
539
|
+
visible: {
|
|
540
|
+
type: Boolean,
|
|
541
|
+
default: true
|
|
542
|
+
},
|
|
543
|
+
points: {
|
|
544
|
+
type: Array
|
|
545
|
+
},
|
|
546
|
+
strokeColor: {
|
|
547
|
+
type: String,
|
|
548
|
+
default: "#000"
|
|
549
|
+
},
|
|
550
|
+
fillColor: {
|
|
551
|
+
type: String,
|
|
552
|
+
default: "#fff"
|
|
553
|
+
},
|
|
554
|
+
strokeWeight: {
|
|
555
|
+
type: Number,
|
|
556
|
+
default: 2
|
|
557
|
+
},
|
|
558
|
+
strokeOpacity: {
|
|
559
|
+
type: Number,
|
|
560
|
+
default: 1
|
|
561
|
+
},
|
|
562
|
+
fillOpacity: {
|
|
563
|
+
type: Number,
|
|
564
|
+
default: 0.3
|
|
565
|
+
},
|
|
566
|
+
strokeStyle: {
|
|
567
|
+
type: String,
|
|
568
|
+
default: "solid"
|
|
569
|
+
},
|
|
570
|
+
enableMassClear: {
|
|
571
|
+
type: Boolean,
|
|
572
|
+
default: true
|
|
573
|
+
},
|
|
574
|
+
enableEditing: {
|
|
575
|
+
type: Boolean,
|
|
576
|
+
default: false
|
|
577
|
+
},
|
|
578
|
+
isBoundary: {
|
|
579
|
+
type: Boolean
|
|
580
|
+
},
|
|
581
|
+
enableClicking: {
|
|
582
|
+
type: Boolean,
|
|
583
|
+
default: true
|
|
584
|
+
}
|
|
585
|
+
};
|
|
586
|
+
|
|
587
|
+
var polygon = /* @__PURE__ */ vue.defineComponent({
|
|
588
|
+
name: "Polygon",
|
|
589
|
+
props: polygonProps,
|
|
590
|
+
setup: (props) => {
|
|
591
|
+
const mapInstance = useMapInstance();
|
|
592
|
+
let overlay = null;
|
|
593
|
+
const setStrokeColor = (color) => {
|
|
594
|
+
overlay && overlay.setStrokeColor(color);
|
|
595
|
+
};
|
|
596
|
+
const startWatchProps = () => {
|
|
597
|
+
vue.watch(() => props.strokeColor, setStrokeColor);
|
|
598
|
+
vue.watch(() => props.visible, (n) => {
|
|
599
|
+
mapInstance()[n ? "addOverlay" : "removeOverlay"](overlay);
|
|
600
|
+
});
|
|
601
|
+
};
|
|
602
|
+
const init = () => {
|
|
603
|
+
const {
|
|
604
|
+
points,
|
|
605
|
+
visible,
|
|
606
|
+
strokeColor,
|
|
607
|
+
fillColor,
|
|
608
|
+
strokeWeight,
|
|
609
|
+
strokeOpacity,
|
|
610
|
+
fillOpacity,
|
|
611
|
+
strokeStyle,
|
|
612
|
+
enableMassClear,
|
|
613
|
+
enableEditing,
|
|
614
|
+
enableClicking
|
|
615
|
+
} = props;
|
|
616
|
+
if (!points || !points.length) {
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
overlay = new BMapGL.Polygon(listToMapPoints(points), {
|
|
620
|
+
strokeColor,
|
|
621
|
+
fillColor,
|
|
622
|
+
strokeWeight,
|
|
623
|
+
strokeOpacity,
|
|
624
|
+
fillOpacity,
|
|
625
|
+
strokeStyle,
|
|
626
|
+
enableMassClear,
|
|
627
|
+
enableEditing,
|
|
628
|
+
enableClicking
|
|
629
|
+
});
|
|
630
|
+
visible && mapInstance().addOverlay(overlay);
|
|
631
|
+
startWatchProps();
|
|
632
|
+
};
|
|
633
|
+
init();
|
|
634
|
+
vue.onUnmounted(() => {
|
|
635
|
+
if (overlay) {
|
|
636
|
+
mapInstance().removeOverlay(overlay);
|
|
637
|
+
}
|
|
638
|
+
});
|
|
639
|
+
return () => vue.createVNode(vue.Fragment, null, null);
|
|
640
|
+
}
|
|
641
|
+
});
|
|
642
|
+
|
|
643
|
+
var sector = /* @__PURE__ */ vue.defineComponent({
|
|
644
|
+
name: "Sector",
|
|
645
|
+
setup: () => {
|
|
646
|
+
return () => vue.createVNode(vue.Fragment, null, null);
|
|
245
647
|
}
|
|
246
648
|
});
|
|
247
649
|
|
|
@@ -281,9 +683,16 @@
|
|
|
281
683
|
|
|
282
684
|
exports.BConfigProvider = configProvider;
|
|
283
685
|
exports.BMap = map;
|
|
686
|
+
exports.BPolygon = polygon;
|
|
687
|
+
exports.BSector = sector;
|
|
688
|
+
exports.BTileLayer = tile;
|
|
689
|
+
exports.BXyzLayer = xyz;
|
|
284
690
|
exports.configProviderInjectionKey = configProviderInjectionKey;
|
|
285
691
|
exports.configProviderProps = configProviderProps;
|
|
286
692
|
exports.create = create;
|
|
693
|
+
exports.mapInjectionKey = mapInjectionKey;
|
|
287
694
|
exports.mapProps = mapProps;
|
|
695
|
+
exports.polygonProps = polygonProps;
|
|
696
|
+
exports.xyzLayerProps = xyzLayerProps;
|
|
288
697
|
|
|
289
698
|
}));
|
package/dist/index.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,t){"use strict";let a=!1;function o(e){return e.some(e=>!t.isVNode(e)||e.type!==Comment&&!(e.type===t.Fragment&&!o(e.children)))?e:null}function n(e,t){return t(e&&o(e())||null)}const l={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},r=Symbol("b-config-provider");var i=t.defineComponent({name:"ConfigProvider",props:l,setup(e,{slots:o}){const n=t.ref("notload"),l=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,i=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${l}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${l}`;n.value="pending",function(e){const{key:t,src:o,addCalToWindow:n=!0,timeout:l=1e4}=e;return a&&window.BMapGL?Promise.resolve():new Promise((e,r)=>{const i=document.createElement("script");i.src=o,i.type="text/javascript",i.defer=!0;const p=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},s=setTimeout(()=>{p(),r(new Error(`Script load timeout: ${o}`))},l),d=()=>{clearTimeout(s),a=!0,p(),e()};n?window[t]=d:i.onload=d,i.onerror=()=>{clearTimeout(s),p(),r(new Error(`Failed to load script: ${o}`))},document.body.appendChild(i)})}({key:l,src:i}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const p=t.computed(()=>{const{mapConfig:t}=e;return t??{}});return t.provide(r,{mergedStatusRef:n,mergedMapSetRef:p}),()=>t.renderSlot(o,"default")}}),p=t.defineComponent({name:"TileLayer",setup:()=>()=>t.createVNode("div",null,[t.createTextVNode("Tile")])});const s=Symbol("b-map"),d={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},heading:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,contentClass:String,enableScrollWheelZoom:{type:Boolean,default:!1},enableDragging:{type:Boolean,default:!0},tilt:{type:Number,default:0},enableTilt:{type:Boolean,default:!1},mapType:{type:String,default:"BMAP_NORMAL_MAP"},enableAutoResize:{type:Boolean,default:!0},enableTiltGestures:{type:Boolean,default:!1},enableRotate:{type:Boolean,default:!1},enableRotateGestures:{type:Boolean,default:!1},displayOptions:{type:Object},onInitd:Function};var u="map-module_b-map__29r3m",m="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",f="map-module_b-map-failed__-w-tX";!function(e,t){void 0===t&&(t={});var a=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===a&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}(".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%)}");var y=t.defineComponent({name:"Map",props:d,slots:Object,setup(e,{slots:a}){const{mergedMapSetRef:o,mergedStatusRef:l}=function(e={}){const a=t.inject(r,null);return{mergedStatusRef:a?.mergedStatusRef,mergedMapSetRef:t.computed(()=>{const{zoom:t,center:o,heading:n,minZoom:l,maxZoom:r,enableScrollWheelZoom:i,enableDragging:p,tilt:s,enableTilt:d,mapType:u,enableAutoResize:m,enableTiltGestures:c,enableRotate:f,enableRotateGestures:y,displayOptions:g}=e;return{zoom:t??a?.mergedMapSetRef.value?.zoom,center:o??a?.mergedMapSetRef.value?.center,heading:n??a?.mergedMapSetRef.value?.heading,minZoom:l??a?.mergedMapSetRef.value?.minZoom,maxZoom:r??a?.mergedMapSetRef.value?.maxZoom,enableScrollWheelZoom:i??a?.mergedMapSetRef.value?.enableScrollWheelZoom,enableDragging:p??a?.mergedMapSetRef.value?.enableDragging,tilt:s??a?.mergedMapSetRef.value?.tilt,enableTilt:d??a?.mergedMapSetRef.value?.enableTilt,mapType:u??a?.mergedMapSetRef.value?.mapType,enableAutoResize:m??a?.mergedMapSetRef.value?.enableAutoResize,enableTiltGestures:c??a?.mergedMapSetRef.value?.enableTiltGestures,enableRotate:f??a?.mergedMapSetRef.value?.enableRotate,enableRotateGestures:y??a?.mergedMapSetRef.value?.enableRotateGestures,displayOptions:g??a?.mergedMapSetRef.value?.displayOptions}})}}(e),i=t.ref();let p=null;const d=t.ref(!1);t.provide(s,{mapInstance:()=>p});const y=e=>{"string"==typeof e?p?.centerAndZoom(e,o.value.zoom):Array.isArray(e)?p?.centerAndZoom(new BMapGL.Point(e[0],e[1]),o.value.zoom):p?.centerAndZoom(e,o.value.zoom)},g=e=>{e?p.enableScrollWheelZoom():p.disableScrollWheelZoom()},b=e=>{p?.setDisplayOptions(e||{})},v=e=>{p?.setTilt(e??0)},T=e=>{p?.setHeading(e??0)},h=e=>{e?p.enableDragging():p.disableDragging()},S=e=>{void 0!==window[e]&&p.setMapType(window[e])},R=()=>{const{maxZoom:a,minZoom:n,enableTilt:l,mapType:r,enableAutoResize:s,enableTiltGestures:u,enableRotate:m,enableRotateGestures:c,displayOptions:f}=o.value;p=new BMapGL.Map(i.value,{maxZoom:a,minZoom:n,enableTilt:l,mapType:window[r],enableAutoResize:s,enableTiltGestures:u,enableRotate:m,enableRotateGestures:c,displayOptions:f});const{onInitd:R}=e;(()=>{const{center:e,heading:t,enableScrollWheelZoom:a,tilt:n,enableDragging:l}=o.value;T(t),y(e),g(a),v(n),h(l)})(),t.watch(()=>o.value.center,y,{deep:!0}),t.watch(()=>o.value.enableScrollWheelZoom,g),t.watch(()=>o.value.displayOptions,b),t.watch(()=>o.value.tilt,v),t.watch(()=>o.value.heading,T),t.watch(()=>o.value.enableDragging,h),t.watch(()=>o.value.mapType,S),R?.({map:p}),d.value=!0};return t.onMounted(()=>{t.watchEffect(()=>{"loaded"!==l?.value||d.value||t.nextTick(R)})}),t.onUnmounted(()=>{if(p)try{p?.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>t.createVNode("div",{class:[[u],e.class]},[t.createVNode("div",{ref:i,class:[m,e.contentClass]},["pending"===l?.value&&n(a.loading,()=>t.createVNode("div",{class:[c]},[t.createTextVNode("map loading...")])),"failed"===l?.value&&n(a.failed,()=>t.createVNode("div",{class:[f]},[t.createTextVNode("map failed")]))]),d.value&&a.default?.()])}});function g(){return t.inject(s,null).mapInstance}const b={visible:{type:Boolean,default:!0},getTile:{type:Function},useThumbData:{type:Boolean,default:!1},xTemplate:{type:Function},yTemplate:{type:Function},zTemplate:{type:Function},bTemplate:{type:Function},minZoom:{type:Number,default:3},maxZoom:{type:Number,default:23},extent:{type:Array},extentCRSIsWGS84:{type:Boolean,default:!1},boundary:{type:Array},zIndex:{type:Number,default:1},zIndexTop:{type:Boolean,default:!1},tms:{type:Boolean,default:!1}};var v=t.defineComponent({name:"XyzLayer",props:b,setup(e){const a=g();let o=null;const n=e=>{o?.setZIndex(e)},l=e=>{e&&!e.length?o?.addBoundary(e):o?.clearBoundary()},r=()=>{const{zIndex:t,zIndexTop:a}=e;n(t),(e=>{e&&o?.setZIndexTop()})(a)};return(()=>{const{visible:i,getTile:p,xTemplate:s,yTemplate:d,zTemplate:u,bTemplate:m,minZoom:c,maxZoom:f,extent:y,extentCRSIsWGS84:g,boundary:b,useThumbData:v,tms:T}=e;o=new BMapGL.XYZLayer({xTemplate:s,yTemplate:d,zTemplate:u,bTemplate:m,minZoom:c,maxZoom:f,extent:y,extentCRSIsWGS84:g,boundary:b,useThumbData:v,tms:T}),r(),i&&(p?(a().addTileLayer(o),o.loadRasterTileData=function(e,t){const a=this.getTileKey(e),o=o=>{o.tileInfo=e,t&&t(o,a)},n=()=>t&&t(null,a);p(e,e=>{if("string"==typeof e||e instanceof HTMLCanvasElement){const t=new Image;t.crossOrigin="anonymous",t.onload=()=>o(t),t.onerror=n,t.src="string"==typeof e?e:e.toDataURL()}else e instanceof HTMLImageElement?o(e):n()})}):a().addTileLayer(o)),t.watch(()=>e.zIndex,n),t.watch(()=>e.boundary,l)})(),t.onUnmounted(()=>{o&&a().removeTileLayer(o)}),()=>t.createVNode(t.Fragment,null,null)}});const T={visible:{type:Boolean,default:!0},points:{type:Array},strokeColor:{type:String,default:"#000"},fillColor:{type:String,default:"#fff"},strokeWeight:{type:Number,default:2},strokeOpacity:{type:Number,default:1},fillOpacity:{type:Number,default:.3},strokeStyle:{type:String,default:"solid"},enableMassClear:{type:Boolean,default:!0},enableEditing:{type:Boolean,default:!1},isBoundary:{type:Boolean},enableClicking:{type:Boolean,default:!0}};var h=t.defineComponent({name:"Polygon",props:T,setup:e=>{const a=g();let o=null;const n=e=>{o&&o.setStrokeColor(e)};return(()=>{const{points:l,visible:r,strokeColor:i,fillColor:p,strokeWeight:s,strokeOpacity:d,fillOpacity:u,strokeStyle:m,enableMassClear:c,enableEditing:f,enableClicking:y}=e;l&&l.length&&(o=new BMapGL.Polygon(function(e){if(!e||0===e.length)return[];const t=e[0];return Array.isArray(t)?e.map(([e,t])=>new BMapGL.Point(e,t)):e}(l),{strokeColor:i,fillColor:p,strokeWeight:s,strokeOpacity:d,fillOpacity:u,strokeStyle:m,enableMassClear:c,enableEditing:f,enableClicking:y}),r&&a().addOverlay(o),t.watch(()=>e.strokeColor,n),t.watch(()=>e.visible,e=>{a()[e?"addOverlay":"removeOverlay"](o)}))})(),t.onUnmounted(()=>{o&&a().removeOverlay(o)}),()=>t.createVNode(t.Fragment,null,null)}}),S=t.defineComponent({name:"Sector",setup:()=>()=>t.createVNode(t.Fragment,null,null)});e.BConfigProvider=i,e.BMap=y,e.BPolygon=h,e.BSector=S,e.BTileLayer=p,e.BXyzLayer=v,e.configProviderInjectionKey=r,e.configProviderProps=l,e.create=function({componentPrefix:e="B",components:t=[]}={}){const a=[];function o(t,a,o){t.component(e+a)||t.component(e+a,o)}return{componentPrefix:e,install:function(e){a.includes(e)||(a.push(e),t.forEach(t=>{const{name:a,alias:n}=t;o(e,a,t),n&&n.forEach(a=>{o(e,a,t)})}))}}},e.mapInjectionKey=s,e.mapProps=d,e.polygonProps=T,e.xyzLayerProps=b});
|
package/es/_mixins/index.d.ts
CHANGED
package/es/_mixins/index.mjs
CHANGED
package/es/_mixins/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -2,17 +2,28 @@ import { inject, computed } from 'vue';
|
|
|
2
2
|
import { configProviderInjectionKey } from '../config-provider/src/constants.mjs';
|
|
3
3
|
|
|
4
4
|
function useConfig(props = {}) {
|
|
5
|
-
const
|
|
5
|
+
const BConfigProvider = inject(configProviderInjectionKey, null);
|
|
6
6
|
return {
|
|
7
|
-
mergedStatusRef:
|
|
7
|
+
mergedStatusRef: BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedStatusRef,
|
|
8
8
|
mergedMapSetRef: computed(() => {
|
|
9
|
-
var _a, _b, _c, _d;
|
|
10
|
-
const { zoom, center, minZoom, maxZoom } = props;
|
|
9
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
10
|
+
const { zoom, center, heading, minZoom, maxZoom, enableScrollWheelZoom, enableDragging, tilt, enableTilt, mapType, enableAutoResize, enableTiltGestures, enableRotate, enableRotateGestures, displayOptions } = props;
|
|
11
11
|
return {
|
|
12
|
-
zoom: zoom !== null && zoom !== void 0 ? zoom : (_a =
|
|
13
|
-
center: center !== null && center !== void 0 ? center : (_b =
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
zoom: zoom !== null && zoom !== void 0 ? zoom : (_a = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _a === void 0 ? void 0 : _a.zoom,
|
|
13
|
+
center: center !== null && center !== void 0 ? center : (_b = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _b === void 0 ? void 0 : _b.center,
|
|
14
|
+
heading: heading !== null && heading !== void 0 ? heading : (_c = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _c === void 0 ? void 0 : _c.heading,
|
|
15
|
+
minZoom: minZoom !== null && minZoom !== void 0 ? minZoom : (_d = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _d === void 0 ? void 0 : _d.minZoom,
|
|
16
|
+
maxZoom: maxZoom !== null && maxZoom !== void 0 ? maxZoom : (_e = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _e === void 0 ? void 0 : _e.maxZoom,
|
|
17
|
+
enableScrollWheelZoom: enableScrollWheelZoom !== null && enableScrollWheelZoom !== void 0 ? enableScrollWheelZoom : (_f = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _f === void 0 ? void 0 : _f.enableScrollWheelZoom,
|
|
18
|
+
enableDragging: enableDragging !== null && enableDragging !== void 0 ? enableDragging : (_g = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _g === void 0 ? void 0 : _g.enableDragging,
|
|
19
|
+
tilt: tilt !== null && tilt !== void 0 ? tilt : (_h = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _h === void 0 ? void 0 : _h.tilt,
|
|
20
|
+
enableTilt: enableTilt !== null && enableTilt !== void 0 ? enableTilt : (_j = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _j === void 0 ? void 0 : _j.enableTilt,
|
|
21
|
+
mapType: mapType !== null && mapType !== void 0 ? mapType : (_k = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _k === void 0 ? void 0 : _k.mapType,
|
|
22
|
+
enableAutoResize: enableAutoResize !== null && enableAutoResize !== void 0 ? enableAutoResize : (_l = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _l === void 0 ? void 0 : _l.enableAutoResize,
|
|
23
|
+
enableTiltGestures: enableTiltGestures !== null && enableTiltGestures !== void 0 ? enableTiltGestures : (_m = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _m === void 0 ? void 0 : _m.enableTiltGestures,
|
|
24
|
+
enableRotate: enableRotate !== null && enableRotate !== void 0 ? enableRotate : (_o = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _o === void 0 ? void 0 : _o.enableRotate,
|
|
25
|
+
enableRotateGestures: enableRotateGestures !== null && enableRotateGestures !== void 0 ? enableRotateGestures : (_p = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _p === void 0 ? void 0 : _p.enableRotateGestures,
|
|
26
|
+
displayOptions: displayOptions !== null && displayOptions !== void 0 ? displayOptions : (_q = BConfigProvider === null || BConfigProvider === void 0 ? void 0 : BConfigProvider.mergedMapSetRef.value) === null || _q === void 0 ? void 0 : _q.displayOptions
|
|
16
27
|
};
|
|
17
28
|
})
|
|
18
29
|
};
|