@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.
Files changed (148) hide show
  1. package/dist/index.js +435 -26
  2. package/dist/index.prod.js +1 -1
  3. package/es/_mixins/index.d.ts +1 -0
  4. package/es/_mixins/index.mjs +1 -0
  5. package/es/_mixins/index.mjs.map +1 -1
  6. package/es/_mixins/use-config.mjs +19 -8
  7. package/es/_mixins/use-config.mjs.map +1 -1
  8. package/es/_mixins/use-map-instance.d.ts +1 -0
  9. package/es/_mixins/use-map-instance.mjs +10 -0
  10. package/es/_mixins/use-map-instance.mjs.map +1 -0
  11. package/es/_utils/call.d.ts +7 -0
  12. package/es/_utils/call.mjs +10 -0
  13. package/es/_utils/call.mjs.map +1 -0
  14. package/es/_utils/index.d.ts +1 -0
  15. package/es/_utils/index.mjs +2 -1
  16. package/es/_utils/index.mjs.map +1 -1
  17. package/es/_utils/map.d.ts +1 -0
  18. package/es/_utils/map.mjs +14 -1
  19. package/es/_utils/map.mjs.map +1 -1
  20. package/es/components.d.ts +4 -0
  21. package/es/components.mjs +7 -0
  22. package/es/components.mjs.map +1 -1
  23. package/es/config-provider/src/config-provider-props.d.ts +10 -1
  24. package/es/config-provider/src/config-provider-props.mjs.map +1 -1
  25. package/es/index.mjs +7 -0
  26. package/es/index.mjs.map +1 -1
  27. package/es/layer/tile/index.d.ts +1 -0
  28. package/es/layer/tile/index.mjs +1 -1
  29. package/es/layer/tile/src/tile.mjs +1 -1
  30. package/es/layer/tile/src/tile.mjs.map +1 -1
  31. package/es/layer/xyz/index.d.ts +3 -0
  32. package/es/layer/xyz/index.mjs +2 -1
  33. package/es/layer/xyz/index.mjs.map +1 -1
  34. package/es/layer/xyz/src/xyz-props.d.ts +62 -0
  35. package/es/layer/xyz/src/xyz-props.mjs +58 -0
  36. package/es/layer/xyz/src/xyz-props.mjs.map +1 -0
  37. package/es/layer/xyz/src/xyz.d.ts +118 -1
  38. package/es/layer/xyz/src/xyz.mjs +96 -4
  39. package/es/layer/xyz/src/xyz.mjs.map +1 -1
  40. package/es/map/index.d.ts +1 -0
  41. package/es/map/index.mjs +1 -0
  42. package/es/map/index.mjs.map +1 -1
  43. package/es/map/src/constants.d.ts +3 -0
  44. package/es/map/src/constants.mjs +4 -0
  45. package/es/map/src/constants.mjs.map +1 -0
  46. package/es/map/src/interface.d.ts +6 -0
  47. package/es/map/src/interface.mjs +2 -0
  48. package/es/map/src/interface.mjs.map +1 -0
  49. package/es/map/src/map-props.d.ts +42 -0
  50. package/es/map/src/map-props.mjs +42 -1
  51. package/es/map/src/map-props.mjs.map +1 -1
  52. package/es/map/src/map.d.ts +91 -0
  53. package/es/map/src/map.mjs +76 -17
  54. package/es/map/src/map.mjs.map +1 -1
  55. package/es/map/src/style/map.module.css.mjs +2 -2
  56. package/es/overlay/polygon/index.d.ts +3 -0
  57. package/es/overlay/polygon/index.mjs +2 -1
  58. package/es/overlay/polygon/index.mjs.map +1 -1
  59. package/es/overlay/polygon/src/polygon-props.d.ts +51 -0
  60. package/es/overlay/polygon/src/polygon-props.mjs +51 -0
  61. package/es/overlay/polygon/src/polygon-props.mjs.map +1 -0
  62. package/es/overlay/polygon/src/polygon.d.ts +108 -0
  63. package/es/overlay/polygon/src/polygon.mjs +63 -0
  64. package/es/overlay/polygon/src/polygon.mjs.map +1 -0
  65. package/es/overlay/sector/index.d.ts +1 -0
  66. package/es/overlay/sector/index.mjs +2 -0
  67. package/es/overlay/sector/index.mjs.map +1 -0
  68. package/es/overlay/sector/src/sector-props.mjs +2 -0
  69. package/es/overlay/sector/src/sector-props.mjs.map +1 -0
  70. package/es/overlay/sector/src/sector.d.ts +2 -0
  71. package/es/overlay/sector/src/sector.mjs +11 -0
  72. package/es/overlay/sector/src/sector.mjs.map +1 -0
  73. package/lib/_mixins/index.d.ts +1 -0
  74. package/lib/_mixins/index.js +2 -0
  75. package/lib/_mixins/index.js.map +1 -1
  76. package/lib/_mixins/use-config.js +19 -8
  77. package/lib/_mixins/use-config.js.map +1 -1
  78. package/lib/_mixins/use-map-instance.d.ts +1 -0
  79. package/lib/_mixins/use-map-instance.js +12 -0
  80. package/lib/_mixins/use-map-instance.js.map +1 -0
  81. package/lib/_utils/call.d.ts +7 -0
  82. package/lib/_utils/call.js +12 -0
  83. package/lib/_utils/call.js.map +1 -0
  84. package/lib/_utils/index.d.ts +1 -0
  85. package/lib/_utils/index.js +3 -0
  86. package/lib/_utils/index.js.map +1 -1
  87. package/lib/_utils/map.d.ts +1 -0
  88. package/lib/_utils/map.js +14 -0
  89. package/lib/_utils/map.js.map +1 -1
  90. package/lib/components.d.ts +4 -0
  91. package/lib/components.js +14 -0
  92. package/lib/components.js.map +1 -1
  93. package/lib/config-provider/src/config-provider-props.d.ts +10 -1
  94. package/lib/config-provider/src/config-provider-props.js.map +1 -1
  95. package/lib/index.js +14 -0
  96. package/lib/index.js.map +1 -1
  97. package/lib/layer/tile/index.d.ts +1 -0
  98. package/lib/layer/tile/index.js +5 -0
  99. package/lib/layer/tile/index.js.map +1 -1
  100. package/lib/layer/tile/src/tile.js +1 -1
  101. package/lib/layer/tile/src/tile.js.map +1 -1
  102. package/lib/layer/xyz/index.d.ts +3 -0
  103. package/lib/layer/xyz/index.js +7 -0
  104. package/lib/layer/xyz/index.js.map +1 -1
  105. package/lib/layer/xyz/src/xyz-props.d.ts +62 -0
  106. package/lib/layer/xyz/src/xyz-props.js +60 -0
  107. package/lib/layer/xyz/src/xyz-props.js.map +1 -0
  108. package/lib/layer/xyz/src/xyz.d.ts +118 -1
  109. package/lib/layer/xyz/src/xyz.js +95 -3
  110. package/lib/layer/xyz/src/xyz.js.map +1 -1
  111. package/lib/map/index.d.ts +1 -0
  112. package/lib/map/index.js +2 -0
  113. package/lib/map/index.js.map +1 -1
  114. package/lib/map/src/constants.d.ts +3 -0
  115. package/lib/map/src/constants.js +6 -0
  116. package/lib/map/src/constants.js.map +1 -0
  117. package/lib/map/src/interface.d.ts +6 -0
  118. package/lib/map/src/interface.js +3 -0
  119. package/lib/map/src/interface.js.map +1 -0
  120. package/lib/map/src/map-props.d.ts +42 -0
  121. package/lib/map/src/map-props.js +42 -1
  122. package/lib/map/src/map-props.js.map +1 -1
  123. package/lib/map/src/map.d.ts +91 -0
  124. package/lib/map/src/map.js +75 -16
  125. package/lib/map/src/map.js.map +1 -1
  126. package/lib/map/src/style/map.module.css.js +2 -2
  127. package/lib/overlay/polygon/index.d.ts +3 -0
  128. package/lib/overlay/polygon/index.js +7 -0
  129. package/lib/overlay/polygon/index.js.map +1 -1
  130. package/lib/overlay/polygon/src/polygon-props.d.ts +51 -0
  131. package/lib/overlay/polygon/src/polygon-props.js +53 -0
  132. package/lib/overlay/polygon/src/polygon-props.js.map +1 -0
  133. package/lib/overlay/polygon/src/polygon.d.ts +108 -0
  134. package/lib/overlay/polygon/src/polygon.js +65 -0
  135. package/lib/overlay/polygon/src/polygon.js.map +1 -0
  136. package/lib/overlay/sector/index.d.ts +1 -0
  137. package/lib/overlay/sector/index.js +8 -0
  138. package/lib/overlay/sector/index.js.map +1 -0
  139. package/lib/overlay/sector/src/sector-props.js +3 -0
  140. package/lib/overlay/sector/src/sector-props.js.map +1 -0
  141. package/lib/overlay/sector/src/sector.d.ts +2 -0
  142. package/lib/overlay/sector/src/sector.js +13 -0
  143. package/lib/overlay/sector/src/sector.js.map +1 -0
  144. package/package.json +2 -2
  145. package/es/overlay/polygon/src/Polygon.vue.mjs +0 -11
  146. package/es/overlay/polygon/src/Polygon.vue.mjs.map +0 -1
  147. package/lib/overlay/polygon/src/Polygon.vue.js +0 -13
  148. 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 NConfigProvider = vue.inject(configProviderInjectionKey, null);
125
+ const BConfigProvider = vue.inject(configProviderInjectionKey, null);
106
126
  return {
107
- mergedStatusRef: NConfigProvider?.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 ?? NConfigProvider?.mergedMapSetRef.value?.zoom,
112
- center: center ?? NConfigProvider?.mergedMapSetRef.value?.center,
113
- minZoom: minZoom ?? NConfigProvider?.mergedMapSetRef.value?.minZoom,
114
- maxZoom: maxZoom ?? NConfigProvider?.mergedMapSetRef.value?.maxZoom
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.centerAndZoom(center, mergedMapSetRef.value.zoom);
268
+ map?.centerAndZoom(center, mergedMapSetRef.value.zoom);
191
269
  } else if (Array.isArray(center)) {
192
- map.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
270
+ map?.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
193
271
  } else {
194
- map.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom);
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 init = () => {
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
- maxZoom,
204
- minZoom,
205
- enableScrollWheelZoom
296
+ heading,
297
+ enableScrollWheelZoom,
298
+ tilt,
299
+ enableDragging
206
300
  } = mergedMapSetRef.value;
207
- map = new BMapGL.Map(contentRef.value, {
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" && !map) {
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.destroy();
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.class]
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
  }));
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,o){"use strict";let t=!1;function n(e){return e.some(e=>!o.isVNode(e)||e.type!==Comment&&!(e.type===o.Fragment&&!n(e.children)))?e:null}function a(e,o){return o(e&&n(e())||null)}const r={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},l=Symbol("b-config-provider");var i=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:n}){const a=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,i=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${r}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${r}`;a.value="pending",function(e){const{key:o,src:n,addCalToWindow:a=!0,timeout:r=1e4}=e;return t&&window.BMapGL?Promise.resolve():new Promise((e,l)=>{const i=document.createElement("script");i.src=n,i.type="text/javascript",i.defer=!0;const d=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},m=setTimeout(()=>{d(),l(new Error(`Script load timeout: ${n}`))},r),c=()=>{clearTimeout(m),t=!0,d(),e()};a?window[o]=c:i.onload=c,i.onerror=()=>{clearTimeout(m),d(),l(new Error(`Failed to load script: ${n}`))},document.body.appendChild(i)})}({key:r,src:i}).then(()=>{a.value="loaded"}).catch(()=>{a.value="failed"});const d=o.computed(()=>{const{mapConfig:o}=e;return o??{}});return o.provide(l,{mergedStatusRef:a,mergedMapSetRef:d}),()=>o.renderSlot(n,"default")}});const d={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,enableScrollWheelZoom:{type:Boolean,default:!1}};var m="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",p="map-module_b-map-failed__-w-tX";!function(e,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".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%)}");var u=o.defineComponent({name:"Map",props:d,slots:Object,setup(e,{slots:t}){const{mergedMapSetRef:n,mergedStatusRef:r}=function(e={}){const t=o.inject(l,null);return{mergedStatusRef:t?.mergedStatusRef,mergedMapSetRef:o.computed(()=>{const{zoom:o,center:n,minZoom:a,maxZoom:r}=e;return{zoom:o??t?.mergedMapSetRef.value?.zoom,center:n??t?.mergedMapSetRef.value?.center,minZoom:a??t?.mergedMapSetRef.value?.minZoom,maxZoom:r??t?.mergedMapSetRef.value?.maxZoom}})}}(e),i=o.ref();let d=null;const u=e=>{"string"==typeof e?d.centerAndZoom(e,n.value.zoom):Array.isArray(e)?d.centerAndZoom(new BMapGL.Point(e[0],e[1]),n.value.zoom):d.centerAndZoom(new BMapGL.Point(e.lng,e.lat),n.value.zoom)},s=e=>{e?d.enableScrollWheelZoom():d.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:a}=n.value;d=new BMapGL.Map(i.value,{maxZoom:o,minZoom:t}),u(e),s(a)};return o.onMounted(()=>{o.watchEffect(()=>{"loaded"!==r?.value||d||(o.nextTick(f),o.watch(()=>n.value.center,u,{deep:!0}),o.watch(()=>n.value.enableScrollWheelZoom,s))})}),o.onUnmounted(()=>{if(d)try{d.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:i,class:[m,e.class]},["pending"===r?.value&&a(t.loading,()=>o.createVNode("div",{class:[c]},[o.createTextVNode("map loading...")])),"failed"===r?.value&&a(t.failed,()=>o.createVNode("div",{class:[p]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=i,e.BMap=u,e.configProviderInjectionKey=l,e.configProviderProps=r,e.create=function({componentPrefix:e="B",components:o=[]}={}){const t=[];function n(o,t,n){o.component(e+t)||o.component(e+t,n)}return{componentPrefix:e,install:function(e){t.includes(e)||(t.push(e),o.forEach(o=>{const{name:t,alias:a}=o;n(e,t,o),a&&a.forEach(t=>{n(e,t,o)})}))}}},e.mapProps=d});
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});
@@ -1 +1,2 @@
1
1
  export { default as useConfig } from './use-config';
2
+ export { default as useMapInstance } from './use-map-instance';
@@ -1,2 +1,3 @@
1
1
  export { default as useConfig } from './use-config.mjs';
2
+ export { default as useMapInstance } from './use-map-instance.mjs';
2
3
  //# sourceMappingURL=index.mjs.map
@@ -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 NConfigProvider = inject(configProviderInjectionKey, null);
5
+ const BConfigProvider = inject(configProviderInjectionKey, null);
6
6
  return {
7
- mergedStatusRef: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.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 = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _a === void 0 ? void 0 : _a.zoom,
13
- center: center !== null && center !== void 0 ? center : (_b = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _b === void 0 ? void 0 : _b.center,
14
- minZoom: minZoom !== null && minZoom !== void 0 ? minZoom : (_c = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _c === void 0 ? void 0 : _c.minZoom,
15
- maxZoom: maxZoom !== null && maxZoom !== void 0 ? maxZoom : (_d = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _d === void 0 ? void 0 : _d.maxZoom
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
  };