@spuermomonga/vue3-bmapgl 0.0.12 → 0.0.13

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 (107) hide show
  1. package/dist/index.js +74 -0
  2. package/dist/index.prod.js +1 -1
  3. package/es/components.d.ts +2 -0
  4. package/es/components.mjs +4 -0
  5. package/es/components.mjs.map +1 -1
  6. package/es/control/custom/index.d.ts +3 -0
  7. package/es/control/custom/index.mjs +3 -0
  8. package/es/control/custom/index.mjs.map +1 -0
  9. package/es/control/custom/src/custom-props.d.ts +23 -0
  10. package/es/control/custom/src/custom-props.mjs +17 -0
  11. package/es/control/custom/src/custom-props.mjs.map +1 -0
  12. package/es/control/custom/src/custom.d.ts +47 -0
  13. package/es/control/custom/src/custom.mjs +49 -0
  14. package/es/control/custom/src/custom.mjs.map +1 -0
  15. package/es/control/scale/index.d.ts +1 -0
  16. package/es/control/scale/index.mjs +1 -1
  17. package/es/control/zoom/index.d.ts +1 -0
  18. package/es/control/zoom/index.mjs +1 -1
  19. package/es/index.mjs +4 -0
  20. package/es/index.mjs.map +1 -1
  21. package/es/layer/xyz/src/xyz.d.ts +2 -2
  22. package/es/overlay/info-window/index.d.ts +1 -0
  23. package/es/overlay/info-window/index.mjs +1 -1
  24. package/es/overlay/info-window/src/info-window-props.mjs +2 -0
  25. package/es/overlay/info-window/src/info-window-props.mjs.map +1 -0
  26. package/es/overlay/info-window/src/info-window.d.ts +2 -0
  27. package/es/overlay/info-window/src/info-window.mjs +11 -0
  28. package/es/overlay/info-window/src/info-window.mjs.map +1 -0
  29. package/es/overlay/label/index.d.ts +1 -0
  30. package/es/overlay/label/index.mjs +1 -1
  31. package/es/overlay/label/src/label-props.mjs +2 -0
  32. package/es/overlay/label/src/label-props.mjs.map +1 -0
  33. package/es/overlay/label/src/label.d.ts +2 -0
  34. package/es/overlay/label/src/label.mjs +11 -0
  35. package/es/overlay/label/src/label.mjs.map +1 -0
  36. package/es/overlay/marker/index.d.ts +3 -0
  37. package/es/overlay/marker/index.mjs +2 -1
  38. package/es/overlay/marker/index.mjs.map +1 -1
  39. package/es/overlay/marker/src/marker-props.d.ts +8 -0
  40. package/es/overlay/marker/src/marker-props.mjs +9 -0
  41. package/es/overlay/marker/src/marker-props.mjs.map +1 -0
  42. package/es/overlay/marker/src/marker.d.ts +14 -0
  43. package/es/overlay/marker/src/marker.mjs +13 -0
  44. package/es/overlay/marker/src/marker.mjs.map +1 -0
  45. package/lib/components.d.ts +2 -0
  46. package/lib/components.js +8 -0
  47. package/lib/components.js.map +1 -1
  48. package/lib/control/custom/index.d.ts +3 -0
  49. package/lib/control/custom/index.js +10 -0
  50. package/lib/control/custom/index.js.map +1 -0
  51. package/lib/control/custom/src/custom-props.d.ts +23 -0
  52. package/lib/control/custom/src/custom-props.js +19 -0
  53. package/lib/control/custom/src/custom-props.js.map +1 -0
  54. package/lib/control/custom/src/custom.d.ts +47 -0
  55. package/lib/control/custom/src/custom.js +51 -0
  56. package/lib/control/custom/src/custom.js.map +1 -0
  57. package/lib/control/scale/index.d.ts +1 -0
  58. package/lib/control/scale/index.js +5 -0
  59. package/lib/control/scale/index.js.map +1 -1
  60. package/lib/control/zoom/index.d.ts +1 -0
  61. package/lib/control/zoom/index.js +5 -0
  62. package/lib/control/zoom/index.js.map +1 -1
  63. package/lib/index.js +8 -0
  64. package/lib/index.js.map +1 -1
  65. package/lib/layer/xyz/src/xyz.d.ts +2 -2
  66. package/lib/overlay/info-window/index.d.ts +1 -0
  67. package/lib/overlay/info-window/index.js +5 -0
  68. package/lib/overlay/info-window/index.js.map +1 -1
  69. package/lib/overlay/info-window/src/info-window-props.js +3 -0
  70. package/lib/overlay/info-window/src/info-window-props.js.map +1 -0
  71. package/lib/overlay/info-window/src/info-window.d.ts +2 -0
  72. package/lib/overlay/info-window/src/info-window.js +13 -0
  73. package/lib/overlay/info-window/src/info-window.js.map +1 -0
  74. package/lib/overlay/label/index.d.ts +1 -0
  75. package/lib/overlay/label/index.js +5 -0
  76. package/lib/overlay/label/index.js.map +1 -1
  77. package/lib/overlay/label/src/label-props.js +3 -0
  78. package/lib/overlay/label/src/label-props.js.map +1 -0
  79. package/lib/overlay/label/src/label.d.ts +2 -0
  80. package/lib/overlay/label/src/label.js +13 -0
  81. package/lib/overlay/label/src/label.js.map +1 -0
  82. package/lib/overlay/marker/index.d.ts +3 -0
  83. package/lib/overlay/marker/index.js +7 -0
  84. package/lib/overlay/marker/index.js.map +1 -1
  85. package/lib/overlay/marker/src/marker-props.d.ts +8 -0
  86. package/lib/overlay/marker/src/marker-props.js +11 -0
  87. package/lib/overlay/marker/src/marker-props.js.map +1 -0
  88. package/lib/overlay/marker/src/marker.d.ts +14 -0
  89. package/lib/overlay/marker/src/marker.js +15 -0
  90. package/lib/overlay/marker/src/marker.js.map +1 -0
  91. package/package.json +1 -1
  92. package/es/_virtual/_plugin-vue_export-helper.mjs +0 -10
  93. package/es/_virtual/_plugin-vue_export-helper.mjs.map +0 -1
  94. package/es/overlay/info-window/src/InfoWindow.vue.mjs +0 -11
  95. package/es/overlay/info-window/src/InfoWindow.vue.mjs.map +0 -1
  96. package/es/overlay/label/src/Label.vue.mjs +0 -11
  97. package/es/overlay/label/src/Label.vue.mjs.map +0 -1
  98. package/es/overlay/marker/src/Marker.vue.mjs +0 -11
  99. package/es/overlay/marker/src/Marker.vue.mjs.map +0 -1
  100. package/lib/_virtual/_plugin-vue_export-helper.js +0 -12
  101. package/lib/_virtual/_plugin-vue_export-helper.js.map +0 -1
  102. package/lib/overlay/info-window/src/InfoWindow.vue.js +0 -13
  103. package/lib/overlay/info-window/src/InfoWindow.vue.js.map +0 -1
  104. package/lib/overlay/label/src/Label.vue.js +0 -13
  105. package/lib/overlay/label/src/Label.vue.js.map +0 -1
  106. package/lib/overlay/marker/src/Marker.vue.js +0 -13
  107. package/lib/overlay/marker/src/Marker.vue.js.map +0 -1
package/dist/index.js CHANGED
@@ -352,6 +352,61 @@
352
352
  return BMap.mapInstance;
353
353
  }
354
354
 
355
+ const customControlProps = {
356
+ anchor: {
357
+ type: String,
358
+ default: "BMAP_ANCHOR_TOP_RIGHT"
359
+ },
360
+ offset: {
361
+ type: Object,
362
+ default: { x: 0, y: 0 }
363
+ },
364
+ visible: {
365
+ type: Boolean,
366
+ default: true
367
+ }
368
+ };
369
+
370
+ var custom = /* @__PURE__ */ vue.defineComponent({
371
+ name: "CustomControl",
372
+ props: customControlProps,
373
+ setup(props, {
374
+ attrs,
375
+ slots
376
+ }) {
377
+ const mapInstance = useMapInstance();
378
+ const controlContentRef = vue.ref();
379
+ let control = null;
380
+ vue.onMounted(() => {
381
+ const {
382
+ offset,
383
+ anchor,
384
+ visible
385
+ } = props;
386
+ control = new BMapGL.Control();
387
+ control.defaultAnchor = window[anchor];
388
+ control.defaultOffset = new BMapGL.Size(offset.x, offset.y);
389
+ control.initialize = (_map) => {
390
+ return _map.getContainer().appendChild(controlContentRef.value);
391
+ };
392
+ visible && mapInstance().addControl(control);
393
+ vue.watch(() => props.visible, (n) => {
394
+ if (control) mapInstance()[n ? "addControl" : "removeControl"](control);
395
+ });
396
+ });
397
+ vue.onUnmounted(() => {
398
+ if (control) {
399
+ mapInstance().removeControl(control);
400
+ }
401
+ });
402
+ return () => vue.createVNode("div", {
403
+ "style": "display: none"
404
+ }, [vue.withDirectives(vue.createVNode("div", {
405
+ "ref": controlContentRef
406
+ }, [slots.default?.()]), [[vue.resolveDirective("bind"), attrs]])]);
407
+ }
408
+ });
409
+
355
410
  const tileLayerProps = {
356
411
  visible: {
357
412
  type: Boolean,
@@ -765,6 +820,21 @@
765
820
  }
766
821
  });
767
822
 
823
+ const markerProps = {
824
+ visible: {
825
+ type: Boolean,
826
+ default: true
827
+ }
828
+ };
829
+
830
+ var marker = /* @__PURE__ */ vue.defineComponent({
831
+ name: "Marker",
832
+ props: markerProps,
833
+ setup() {
834
+ return () => vue.createVNode(vue.Fragment, null, null);
835
+ }
836
+ });
837
+
768
838
  const polygonProps = {
769
839
  visible: {
770
840
  type: Boolean,
@@ -912,7 +982,9 @@
912
982
  }
913
983
 
914
984
  exports.BConfigProvider = configProvider;
985
+ exports.BCustomControl = custom;
915
986
  exports.BMap = map;
987
+ exports.BMarker = marker;
916
988
  exports.BPolygon = polygon;
917
989
  exports.BSector = sector;
918
990
  exports.BTileLayer = tile;
@@ -920,8 +992,10 @@
920
992
  exports.configProviderInjectionKey = configProviderInjectionKey;
921
993
  exports.configProviderProps = configProviderProps;
922
994
  exports.create = create;
995
+ exports.customControlProps = customControlProps;
923
996
  exports.mapInjectionKey = mapInjectionKey;
924
997
  exports.mapProps = mapProps;
998
+ exports.markerProps = markerProps;
925
999
  exports.polygonProps = polygonProps;
926
1000
  exports.tileLayerProps = tileLayerProps;
927
1001
  exports.xyzLayerProps = xyzLayerProps;
@@ -1 +1 @@
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 o=!1;function a(e){return e.some(e=>!t.isVNode(e)||e.type!==Comment&&!(e.type===t.Fragment&&!a(e.children)))?e:null}function n(e,t){return t(e&&a(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:a}){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:a,addCalToWindow:n=!0,timeout:l=1e4}=e;return o&&window.BMapGL?Promise.resolve():new Promise((e,r)=>{const i=document.createElement("script");i.src=a,i.type="text/javascript",i.defer=!0;const s=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},p=setTimeout(()=>{s(),r(new Error(`Script load timeout: ${a}`))},l),d=()=>{clearTimeout(p),o=!0,s(),e()};n?window[t]=d:i.onload=d,i.onerror=()=>{clearTimeout(p),s(),r(new Error(`Failed to load script: ${a}`))},document.body.appendChild(i)})}({key:l,src:i}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const s=t.computed(()=>{const{mapConfig:t}=e;return t??{}});return t.provide(r,{mergedStatusRef:n,mergedMapSetRef:s}),()=>t.renderSlot(a,"default")}});const s=Symbol("b-map"),p={maxZoom:Number,minZoom:Number,heading:Number,center:Object,zoom:Number,class:String,contentClass:String,enableScrollWheelZoom:{type:Boolean,default:void 0},enableDragging:{type:Boolean,default:void 0},tilt:Number,enableTilt:{type:Boolean,default:void 0},mapType:String,enableAutoResize:{type:Boolean,default:void 0},enableTiltGestures:{type:Boolean,default:void 0},enableRotate:{type:Boolean,default:void 0},enableRotateGestures:{type:Boolean,default:void 0},displayOptions:Object,onInitd:Function};var d="map-module_b-map__29r3m",m="map-module_b-map-content__sMaJG",u="map-module_b-map-loading__qc4a8",c="map-module_b-map-failed__-w-tX";!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.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:p,slots:Object,setup(e,{slots:o}){const{mergedMapSetRef:a,mergedStatusRef:l}=function(e={}){const o=t.inject(r,null);return{mergedStatusRef:o?.mergedStatusRef,mergedMapSetRef:t.computed(()=>{const{zoom:t,center:a,heading:n,minZoom:l,maxZoom:r,enableScrollWheelZoom:i,enableDragging:s,tilt:p,enableTilt:d,mapType:m,enableAutoResize:u,enableTiltGestures:c,enableRotate:y,enableRotateGestures:f,displayOptions:g}=e;return{zoom:t??o?.mergedMapSetRef.value?.zoom??14,center:a??o?.mergedMapSetRef.value?.center??[116.403901,39.915185],heading:n??o?.mergedMapSetRef.value?.heading??0,minZoom:l??o?.mergedMapSetRef.value?.minZoom??0,maxZoom:r??o?.mergedMapSetRef.value?.maxZoom??21,enableScrollWheelZoom:i??o?.mergedMapSetRef.value?.enableScrollWheelZoom??!1,enableDragging:s??o?.mergedMapSetRef.value?.enableDragging??!0,tilt:p??o?.mergedMapSetRef.value?.tilt??0,enableTilt:d??o?.mergedMapSetRef.value?.enableTilt??!1,mapType:m??o?.mergedMapSetRef.value?.mapType??"BMAP_NORMAL_MAP",enableAutoResize:u??o?.mergedMapSetRef.value?.enableAutoResize??!0,enableTiltGestures:c??o?.mergedMapSetRef.value?.enableTiltGestures??!1,enableRotate:y??o?.mergedMapSetRef.value?.enableRotate??!1,enableRotateGestures:f??o?.mergedMapSetRef.value?.enableRotateGestures??!1,displayOptions:g??o?.mergedMapSetRef.value?.displayOptions}})}}(e),i=t.ref();let p=null;const y=t.ref(!1);t.provide(s,{mapInstance:()=>p});const f=e=>{"string"==typeof e?p?.centerAndZoom(e,a.value.zoom):Array.isArray(e)?p?.centerAndZoom(new BMapGL.Point(e[0],e[1]),a.value.zoom):p?.centerAndZoom(e,a.value.zoom)},g=e=>{e?p.enableScrollWheelZoom():p.disableScrollWheelZoom()},b=e=>{p?.setDisplayOptions(e||{})},T=e=>{p?.setTilt(e??0)},v=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:o,minZoom:n,enableTilt:l,mapType:r,enableAutoResize:s,enableTiltGestures:d,enableRotate:m,enableRotateGestures:u,displayOptions:c}=a.value;p=new BMapGL.Map(i.value,{maxZoom:o,minZoom:n,enableTilt:l,mapType:window[r],enableAutoResize:s,enableTiltGestures:d,enableRotate:m,enableRotateGestures:u,displayOptions:c});const{onInitd:R}=e;(()=>{const{center:e,heading:t,enableScrollWheelZoom:o,tilt:n,enableDragging:l}=a.value;v(t),f(e),g(o),T(n),h(l)})(),t.watch(()=>a.value.center,f,{deep:!0}),t.watch(()=>a.value.enableScrollWheelZoom,g),t.watch(()=>a.value.displayOptions,b),t.watch(()=>a.value.tilt,T),t.watch(()=>a.value.heading,v),t.watch(()=>a.value.enableDragging,h),t.watch(()=>a.value.mapType,S),R?.({map:p}),y.value=!0};return t.onMounted(()=>{t.watchEffect(()=>{"loaded"!==l?.value||y.value||t.nextTick(R)})}),t.onUnmounted(()=>{if(p)try{p?.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>t.createVNode("div",{class:[[d],e.class]},[t.createVNode("div",{ref:i,class:[m,e.contentClass]},["pending"===l?.value&&n(o.loading,()=>t.createVNode("div",{class:[u]},[t.createTextVNode("map loading...")])),"failed"===l?.value&&n(o.failed,()=>t.createVNode("div",{class:[c]},[t.createTextVNode("map failed")]))]),y.value&&o.default?.()])}});function f(){return t.inject(s,null).mapInstance}const g={visible:{type:Boolean,default:!0},transform:Object,png8:Boolean,height:Number,retry:{type:Boolean,default:void 0},retryTime:Number,transparentPng:{type:Boolean,default:!0},dataType:Number,spanLevel:{type:Number,default:0},tileTypeName:String,cacheSize:{type:Number,default:256},customLayer:{type:Boolean,default:void 0},clipTile:{type:Boolean,default:void 0},isTop:Boolean,opacity:{type:Number,default:1},isLowText:Boolean,boundary:Array,showRegion:String,useThumbData:Boolean,zIndex:Number,zIndexTop:Boolean,tileUrlTemplate:String,getTileUrl:Function,getTilesUrl:Function};var b=t.defineComponent({name:"TileLayer",props:g,setup(e){const o=f();let a,n=[],l=null;const r=e=>{l?.setZIndex(e)},i=e=>{e?l?.addBoundary(e):l?.clearBoundary()},s=e=>{l?.setTop(e)},p=(e,t)=>{const o=t=>{t.tileInfo=e.tileInfo,e.cb(t,e.key)},a=()=>e.cb(null,e.key);if("string"==typeof t||t instanceof HTMLCanvasElement){const e=new Image;e.crossOrigin="anonymous",e.onload=()=>o(e),e.onerror=a,e.src="string"==typeof t?t:t.toDataURL()}else t instanceof HTMLImageElement?o(t):a()},d=t=>{const o=n.find(e=>e.key===t.key);o?(o.cb(null,t.key),o.cb=t.cb):n.push(t),a&&clearTimeout(a),a=setTimeout(()=>(()=>{if(0===n.length)return;const{getTilesUrl:t}=e,o=[...n];n=[];const a=o.map(({key:e,tile:t,boundRange:o})=>({key:e,tile:t,boundRange:o}));t(a,e=>{for(const t of e){const e=o.findIndex(e=>e.key===t.key);if(-1!==e){const a=o[e];p(a,t.img),o.splice(e,1)}}o.forEach(e=>{e.cb(null,e.key)})})})(),50)},m=()=>{const{getTileUrl:t,getTilesUrl:a}=e;l&&(t?(o().addTileLayer(l),l.loadRasterTileData=function(e,o){const a=this.getTileKey(e),n=BMapGL.Projection.tileToBoundRange({col:e.col,row:e.row,baseTileSize:e.baseTileSize,zoom:e.zoom});t({x:e.col,y:e.row,z:e.zoom},n,t=>{p({cb:o,boundRange:n,key:a,tileInfo:e},t)})}):a?(o().addTileLayer(l),l.loadRasterTileData=function(e,t){const o=this.getTileKey(e),a={x:e.col,y:e.row,z:e.zoom},n=BMapGL.Projection.tileToBoundRange({col:e.col,row:e.row,baseTileSize:e.baseTileSize,zoom:e.zoom});d({key:o,tile:a,boundRange:n,cb:t,tileInfo:e})}):o().addTileLayer(l))};return(()=>{const{visible:a,transform:n,png8:p,height:d,retry:u,retryTime:c,transparentPng:y,dataType:f,spanLevel:g,tileTypeName:b,cacheSize:T,customLayer:v,clipTile:h,isTop:S,opacity:R,isLowText:B,showRegion:w,useThumbData:x,tileUrlTemplate:M}=e;l=new BMapGL.TileLayer({transform:n,png8:p,height:d,retry:u,retryTime:c,transparentPng:y,dataType:f,spanLevel:g,tileTypeName:b,cacheSize:T,customLayer:v,clipTile:h,isTop:S,opacity:R,isLowText:B,showRegion:w,useThumbData:x,tileUrlTemplate:M}),(()=>{const{zIndex:t,boundary:o}=e;i(o),r(t)})(),a&&m(),t.watch(()=>e.zIndex,r),t.watch(()=>e.boundary,i),t.watch(()=>e.zIndexTop,s),t.watch(()=>e.visible,e=>e?m():o().removeTileLayer(l))})(),t.onUnmounted(()=>{l&&o().removeTileLayer(l)}),()=>t.createVNode(t.Fragment,null,null)}});const T={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:T,setup(e){const o=f();let a=null;const n=e=>{a?.setZIndex(e)},l=e=>{e&&!e.length?a?.addBoundary(e):a?.clearBoundary()},r=()=>{const{zIndex:t,zIndexTop:o}=e;n(t),(e=>{e&&a?.setZIndexTop()})(o)};return(()=>{const{visible:i,getTile:s,xTemplate:p,yTemplate:d,zTemplate:m,bTemplate:u,minZoom:c,maxZoom:y,extent:f,extentCRSIsWGS84:g,boundary:b,useThumbData:T,tms:v}=e;a=new BMapGL.XYZLayer({xTemplate:p,yTemplate:d,zTemplate:m,bTemplate:u,minZoom:c,maxZoom:y,extent:f,extentCRSIsWGS84:g,boundary:b,useThumbData:T,tms:v}),r(),i&&(s?(o().addTileLayer(a),a.loadRasterTileData=function(e,t){const o=this.getTileKey(e),a=a=>{a.tileInfo=e,t&&t(a,o)},n=()=>t&&t(null,o),l=BMapGL.XYZProjection.getTileRangeExtent([e.zoom,e.col,e.row]);s({x:e.col,y:e.row,z:e.zoom},l,e=>{if("string"==typeof e||e instanceof HTMLCanvasElement){const t=new Image;t.crossOrigin="anonymous",t.onload=()=>a(t),t.onerror=n,t.src="string"==typeof e?e:e.toDataURL()}else e instanceof HTMLImageElement?a(e):n()})}):o().addTileLayer(a)),t.watch(()=>e.zIndex,n),t.watch(()=>e.boundary,l)})(),t.onUnmounted(()=>{a&&o().removeTileLayer(a)}),()=>t.createVNode(t.Fragment,null,null)}});const h={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 S=t.defineComponent({name:"Polygon",props:h,setup:e=>{const o=f();let a=null;const n=e=>{a&&a.setStrokeColor(e)};return(()=>{const{points:l,visible:r,strokeColor:i,fillColor:s,strokeWeight:p,strokeOpacity:d,fillOpacity:m,strokeStyle:u,enableMassClear:c,enableEditing:y,enableClicking:f}=e;l&&l.length&&(a=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:s,strokeWeight:p,strokeOpacity:d,fillOpacity:m,strokeStyle:u,enableMassClear:c,enableEditing:y,enableClicking:f}),r&&o().addOverlay(a),t.watch(()=>e.strokeColor,n),t.watch(()=>e.visible,e=>{o()[e?"addOverlay":"removeOverlay"](a)}))})(),t.onUnmounted(()=>{a&&o().removeOverlay(a)}),()=>t.createVNode(t.Fragment,null,null)}}),R=t.defineComponent({name:"Sector",setup:()=>()=>t.createVNode(t.Fragment,null,null)});e.BConfigProvider=i,e.BMap=y,e.BPolygon=S,e.BSector=R,e.BTileLayer=b,e.BXyzLayer=v,e.configProviderInjectionKey=r,e.configProviderProps=l,e.create=function({componentPrefix:e="B",components:t=[]}={}){const o=[];function a(t,o,a){t.component(e+o)||t.component(e+o,a)}return{componentPrefix:e,install:function(e){o.includes(e)||(o.push(e),t.forEach(t=>{const{name:o,alias:n}=t;a(e,o,t),n&&n.forEach(o=>{a(e,o,t)})}))}}},e.mapInjectionKey=s,e.mapProps=p,e.polygonProps=h,e.tileLayerProps=g,e.xyzLayerProps=T});
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 o=!1;function a(e){return e.some(e=>!t.isVNode(e)||e.type!==Comment&&!(e.type===t.Fragment&&!a(e.children)))?e:null}function n(e,t){return t(e&&a(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:a}){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:a,addCalToWindow:n=!0,timeout:l=1e4}=e;return o&&window.BMapGL?Promise.resolve():new Promise((e,r)=>{const i=document.createElement("script");i.src=a,i.type="text/javascript",i.defer=!0;const s=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},d=setTimeout(()=>{s(),r(new Error(`Script load timeout: ${a}`))},l),p=()=>{clearTimeout(d),o=!0,s(),e()};n?window[t]=p:i.onload=p,i.onerror=()=>{clearTimeout(d),s(),r(new Error(`Failed to load script: ${a}`))},document.body.appendChild(i)})}({key:l,src:i}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const s=t.computed(()=>{const{mapConfig:t}=e;return t??{}});return t.provide(r,{mergedStatusRef:n,mergedMapSetRef:s}),()=>t.renderSlot(a,"default")}});const s=Symbol("b-map"),d={maxZoom:Number,minZoom:Number,heading:Number,center:Object,zoom:Number,class:String,contentClass:String,enableScrollWheelZoom:{type:Boolean,default:void 0},enableDragging:{type:Boolean,default:void 0},tilt:Number,enableTilt:{type:Boolean,default:void 0},mapType:String,enableAutoResize:{type:Boolean,default:void 0},enableTiltGestures:{type:Boolean,default:void 0},enableRotate:{type:Boolean,default:void 0},enableRotateGestures:{type:Boolean,default:void 0},displayOptions:Object,onInitd:Function};var p="map-module_b-map__29r3m",u="map-module_b-map-content__sMaJG",m="map-module_b-map-loading__qc4a8",c="map-module_b-map-failed__-w-tX";!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===o&&a.firstChild?a.insertBefore(n,a.firstChild):a.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:o}){const{mergedMapSetRef:a,mergedStatusRef:l}=function(e={}){const o=t.inject(r,null);return{mergedStatusRef:o?.mergedStatusRef,mergedMapSetRef:t.computed(()=>{const{zoom:t,center:a,heading:n,minZoom:l,maxZoom:r,enableScrollWheelZoom:i,enableDragging:s,tilt:d,enableTilt:p,mapType:u,enableAutoResize:m,enableTiltGestures:c,enableRotate:y,enableRotateGestures:f,displayOptions:g}=e;return{zoom:t??o?.mergedMapSetRef.value?.zoom??14,center:a??o?.mergedMapSetRef.value?.center??[116.403901,39.915185],heading:n??o?.mergedMapSetRef.value?.heading??0,minZoom:l??o?.mergedMapSetRef.value?.minZoom??0,maxZoom:r??o?.mergedMapSetRef.value?.maxZoom??21,enableScrollWheelZoom:i??o?.mergedMapSetRef.value?.enableScrollWheelZoom??!1,enableDragging:s??o?.mergedMapSetRef.value?.enableDragging??!0,tilt:d??o?.mergedMapSetRef.value?.tilt??0,enableTilt:p??o?.mergedMapSetRef.value?.enableTilt??!1,mapType:u??o?.mergedMapSetRef.value?.mapType??"BMAP_NORMAL_MAP",enableAutoResize:m??o?.mergedMapSetRef.value?.enableAutoResize??!0,enableTiltGestures:c??o?.mergedMapSetRef.value?.enableTiltGestures??!1,enableRotate:y??o?.mergedMapSetRef.value?.enableRotate??!1,enableRotateGestures:f??o?.mergedMapSetRef.value?.enableRotateGestures??!1,displayOptions:g??o?.mergedMapSetRef.value?.displayOptions}})}}(e),i=t.ref();let d=null;const y=t.ref(!1);t.provide(s,{mapInstance:()=>d});const f=e=>{"string"==typeof e?d?.centerAndZoom(e,a.value.zoom):Array.isArray(e)?d?.centerAndZoom(new BMapGL.Point(e[0],e[1]),a.value.zoom):d?.centerAndZoom(e,a.value.zoom)},g=e=>{e?d.enableScrollWheelZoom():d.disableScrollWheelZoom()},b=e=>{d?.setDisplayOptions(e||{})},T=e=>{d?.setTilt(e??0)},v=e=>{d?.setHeading(e??0)},h=e=>{e?d.enableDragging():d.disableDragging()},S=e=>{void 0!==window[e]&&d.setMapType(window[e])},B=()=>{const{maxZoom:o,minZoom:n,enableTilt:l,mapType:r,enableAutoResize:s,enableTiltGestures:p,enableRotate:u,enableRotateGestures:m,displayOptions:c}=a.value;d=new BMapGL.Map(i.value,{maxZoom:o,minZoom:n,enableTilt:l,mapType:window[r],enableAutoResize:s,enableTiltGestures:p,enableRotate:u,enableRotateGestures:m,displayOptions:c});const{onInitd:B}=e;(()=>{const{center:e,heading:t,enableScrollWheelZoom:o,tilt:n,enableDragging:l}=a.value;v(t),f(e),g(o),T(n),h(l)})(),t.watch(()=>a.value.center,f,{deep:!0}),t.watch(()=>a.value.enableScrollWheelZoom,g),t.watch(()=>a.value.displayOptions,b),t.watch(()=>a.value.tilt,T),t.watch(()=>a.value.heading,v),t.watch(()=>a.value.enableDragging,h),t.watch(()=>a.value.mapType,S),B?.({map:d}),y.value=!0};return t.onMounted(()=>{t.watchEffect(()=>{"loaded"!==l?.value||y.value||t.nextTick(B)})}),t.onUnmounted(()=>{if(d)try{d?.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>t.createVNode("div",{class:[[p],e.class]},[t.createVNode("div",{ref:i,class:[u,e.contentClass]},["pending"===l?.value&&n(o.loading,()=>t.createVNode("div",{class:[m]},[t.createTextVNode("map loading...")])),"failed"===l?.value&&n(o.failed,()=>t.createVNode("div",{class:[c]},[t.createTextVNode("map failed")]))]),y.value&&o.default?.()])}});function f(){return t.inject(s,null).mapInstance}const g={anchor:{type:String,default:"BMAP_ANCHOR_TOP_RIGHT"},offset:{type:Object,default:{x:0,y:0}},visible:{type:Boolean,default:!0}};var b=t.defineComponent({name:"CustomControl",props:g,setup(e,{attrs:o,slots:a}){const n=f(),l=t.ref();let r=null;return t.onMounted(()=>{const{offset:o,anchor:a,visible:i}=e;r=new BMapGL.Control,r.defaultAnchor=window[a],r.defaultOffset=new BMapGL.Size(o.x,o.y),r.initialize=e=>e.getContainer().appendChild(l.value),i&&n().addControl(r),t.watch(()=>e.visible,e=>{r&&n()[e?"addControl":"removeControl"](r)})}),t.onUnmounted(()=>{r&&n().removeControl(r)}),()=>t.createVNode("div",{style:"display: none"},[t.withDirectives(t.createVNode("div",{ref:l},[a.default?.()]),[[t.resolveDirective("bind"),o]])])}});const T={visible:{type:Boolean,default:!0},transform:Object,png8:Boolean,height:Number,retry:{type:Boolean,default:void 0},retryTime:Number,transparentPng:{type:Boolean,default:!0},dataType:Number,spanLevel:{type:Number,default:0},tileTypeName:String,cacheSize:{type:Number,default:256},customLayer:{type:Boolean,default:void 0},clipTile:{type:Boolean,default:void 0},isTop:Boolean,opacity:{type:Number,default:1},isLowText:Boolean,boundary:Array,showRegion:String,useThumbData:Boolean,zIndex:Number,zIndexTop:Boolean,tileUrlTemplate:String,getTileUrl:Function,getTilesUrl:Function};var v=t.defineComponent({name:"TileLayer",props:T,setup(e){const o=f();let a,n=[],l=null;const r=e=>{l?.setZIndex(e)},i=e=>{e?l?.addBoundary(e):l?.clearBoundary()},s=e=>{l?.setTop(e)},d=(e,t)=>{const o=t=>{t.tileInfo=e.tileInfo,e.cb(t,e.key)},a=()=>e.cb(null,e.key);if("string"==typeof t||t instanceof HTMLCanvasElement){const e=new Image;e.crossOrigin="anonymous",e.onload=()=>o(e),e.onerror=a,e.src="string"==typeof t?t:t.toDataURL()}else t instanceof HTMLImageElement?o(t):a()},p=t=>{const o=n.find(e=>e.key===t.key);o?(o.cb(null,t.key),o.cb=t.cb):n.push(t),a&&clearTimeout(a),a=setTimeout(()=>(()=>{if(0===n.length)return;const{getTilesUrl:t}=e,o=[...n];n=[];const a=o.map(({key:e,tile:t,boundRange:o})=>({key:e,tile:t,boundRange:o}));t(a,e=>{for(const t of e){const e=o.findIndex(e=>e.key===t.key);if(-1!==e){const a=o[e];d(a,t.img),o.splice(e,1)}}o.forEach(e=>{e.cb(null,e.key)})})})(),50)},u=()=>{const{getTileUrl:t,getTilesUrl:a}=e;l&&(t?(o().addTileLayer(l),l.loadRasterTileData=function(e,o){const a=this.getTileKey(e),n=BMapGL.Projection.tileToBoundRange({col:e.col,row:e.row,baseTileSize:e.baseTileSize,zoom:e.zoom});t({x:e.col,y:e.row,z:e.zoom},n,t=>{d({cb:o,boundRange:n,key:a,tileInfo:e},t)})}):a?(o().addTileLayer(l),l.loadRasterTileData=function(e,t){const o=this.getTileKey(e),a={x:e.col,y:e.row,z:e.zoom},n=BMapGL.Projection.tileToBoundRange({col:e.col,row:e.row,baseTileSize:e.baseTileSize,zoom:e.zoom});p({key:o,tile:a,boundRange:n,cb:t,tileInfo:e})}):o().addTileLayer(l))};return(()=>{const{visible:a,transform:n,png8:d,height:p,retry:m,retryTime:c,transparentPng:y,dataType:f,spanLevel:g,tileTypeName:b,cacheSize:T,customLayer:v,clipTile:h,isTop:S,opacity:B,isLowText:w,showRegion:R,useThumbData:x,tileUrlTemplate:C}=e;l=new BMapGL.TileLayer({transform:n,png8:d,height:p,retry:m,retryTime:c,transparentPng:y,dataType:f,spanLevel:g,tileTypeName:b,cacheSize:T,customLayer:v,clipTile:h,isTop:S,opacity:B,isLowText:w,showRegion:R,useThumbData:x,tileUrlTemplate:C}),(()=>{const{zIndex:t,boundary:o}=e;i(o),r(t)})(),a&&u(),t.watch(()=>e.zIndex,r),t.watch(()=>e.boundary,i),t.watch(()=>e.zIndexTop,s),t.watch(()=>e.visible,e=>e?u():o().removeTileLayer(l))})(),t.onUnmounted(()=>{l&&o().removeTileLayer(l)}),()=>t.createVNode(t.Fragment,null,null)}});const h={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 S=t.defineComponent({name:"XyzLayer",props:h,setup(e){const o=f();let a=null;const n=e=>{a?.setZIndex(e)},l=e=>{e&&!e.length?a?.addBoundary(e):a?.clearBoundary()},r=()=>{const{zIndex:t,zIndexTop:o}=e;n(t),(e=>{e&&a?.setZIndexTop()})(o)};return(()=>{const{visible:i,getTile:s,xTemplate:d,yTemplate:p,zTemplate:u,bTemplate:m,minZoom:c,maxZoom:y,extent:f,extentCRSIsWGS84:g,boundary:b,useThumbData:T,tms:v}=e;a=new BMapGL.XYZLayer({xTemplate:d,yTemplate:p,zTemplate:u,bTemplate:m,minZoom:c,maxZoom:y,extent:f,extentCRSIsWGS84:g,boundary:b,useThumbData:T,tms:v}),r(),i&&(s?(o().addTileLayer(a),a.loadRasterTileData=function(e,t){const o=this.getTileKey(e),a=a=>{a.tileInfo=e,t&&t(a,o)},n=()=>t&&t(null,o),l=BMapGL.XYZProjection.getTileRangeExtent([e.zoom,e.col,e.row]);s({x:e.col,y:e.row,z:e.zoom},l,e=>{if("string"==typeof e||e instanceof HTMLCanvasElement){const t=new Image;t.crossOrigin="anonymous",t.onload=()=>a(t),t.onerror=n,t.src="string"==typeof e?e:e.toDataURL()}else e instanceof HTMLImageElement?a(e):n()})}):o().addTileLayer(a)),t.watch(()=>e.zIndex,n),t.watch(()=>e.boundary,l)})(),t.onUnmounted(()=>{a&&o().removeTileLayer(a)}),()=>t.createVNode(t.Fragment,null,null)}});const B={visible:{type:Boolean,default:!0}};var w=t.defineComponent({name:"Marker",props:B,setup:()=>()=>t.createVNode(t.Fragment,null,null)});const R={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 x=t.defineComponent({name:"Polygon",props:R,setup:e=>{const o=f();let a=null;const n=e=>{a&&a.setStrokeColor(e)};return(()=>{const{points:l,visible:r,strokeColor:i,fillColor:s,strokeWeight:d,strokeOpacity:p,fillOpacity:u,strokeStyle:m,enableMassClear:c,enableEditing:y,enableClicking:f}=e;l&&l.length&&(a=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:s,strokeWeight:d,strokeOpacity:p,fillOpacity:u,strokeStyle:m,enableMassClear:c,enableEditing:y,enableClicking:f}),r&&o().addOverlay(a),t.watch(()=>e.strokeColor,n),t.watch(()=>e.visible,e=>{o()[e?"addOverlay":"removeOverlay"](a)}))})(),t.onUnmounted(()=>{a&&o().removeOverlay(a)}),()=>t.createVNode(t.Fragment,null,null)}}),C=t.defineComponent({name:"Sector",setup:()=>()=>t.createVNode(t.Fragment,null,null)});e.BConfigProvider=i,e.BCustomControl=b,e.BMap=y,e.BMarker=w,e.BPolygon=x,e.BSector=C,e.BTileLayer=v,e.BXyzLayer=S,e.configProviderInjectionKey=r,e.configProviderProps=l,e.create=function({componentPrefix:e="B",components:t=[]}={}){const o=[];function a(t,o,a){t.component(e+o)||t.component(e+o,a)}return{componentPrefix:e,install:function(e){o.includes(e)||(o.push(e),t.forEach(t=>{const{name:o,alias:n}=t;a(e,o,t),n&&n.forEach(o=>{a(e,o,t)})}))}}},e.customControlProps=g,e.mapInjectionKey=s,e.mapProps=d,e.markerProps=B,e.polygonProps=R,e.tileLayerProps=T,e.xyzLayerProps=h});
@@ -1,6 +1,8 @@
1
1
  export * from './config-provider';
2
+ export * from './control/custom';
2
3
  export * from './layer/tile';
3
4
  export * from './layer/xyz';
4
5
  export * from './map';
6
+ export * from './overlay/marker';
5
7
  export * from './overlay/polygon';
6
8
  export * from './overlay/sector';
package/es/components.mjs CHANGED
@@ -1,6 +1,8 @@
1
1
  export { default as BConfigProvider } from './config-provider/src/config-provider.mjs';
2
2
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
3
3
  export { configProviderInjectionKey } from './config-provider/src/constants.mjs';
4
+ export { default as BCustomControl } from './control/custom/src/custom.mjs';
5
+ export { customControlProps } from './control/custom/src/custom-props.mjs';
4
6
  export { default as BTileLayer } from './layer/tile/src/tile.mjs';
5
7
  export { tileLayerProps } from './layer/tile/src/tile-props.mjs';
6
8
  export { default as BXyzLayer } from './layer/xyz/src/xyz.mjs';
@@ -8,6 +10,8 @@ export { xyzLayerProps } from './layer/xyz/src/xyz-props.mjs';
8
10
  export { mapInjectionKey } from './map/src/constants.mjs';
9
11
  export { default as BMap } from './map/src/map.mjs';
10
12
  export { mapProps } from './map/src/map-props.mjs';
13
+ export { default as BMarker } from './overlay/marker/src/marker.mjs';
14
+ export { markerProps } from './overlay/marker/src/marker-props.mjs';
11
15
  export { default as BPolygon } from './overlay/polygon/src/polygon.mjs';
12
16
  export { polygonProps } from './overlay/polygon/src/polygon-props.mjs';
13
17
  export { default as BSector } from './overlay/sector/src/sector.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"components.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ export { default as BCustomControl } from './src/custom';
2
+ export { customControlProps } from './src/custom-props';
3
+ export type { CustomControlProps } from './src/custom-props';
@@ -0,0 +1,3 @@
1
+ export { default as BCustomControl } from './src/custom.mjs';
2
+ export { customControlProps } from './src/custom-props.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,23 @@
1
+ import type { PropType } from 'vue';
2
+ import type { ExtractPublicPropTypes } from '../../../_utils';
3
+ export declare const customControlProps: {
4
+ readonly anchor: {
5
+ readonly type: StringConstructor;
6
+ readonly default: "BMAP_ANCHOR_TOP_RIGHT";
7
+ };
8
+ readonly offset: {
9
+ readonly type: PropType<{
10
+ x: number;
11
+ y: number;
12
+ }>;
13
+ readonly default: {
14
+ readonly x: 0;
15
+ readonly y: 0;
16
+ };
17
+ };
18
+ readonly visible: {
19
+ readonly type: BooleanConstructor;
20
+ readonly default: true;
21
+ };
22
+ };
23
+ export type CustomControlProps = ExtractPublicPropTypes<typeof customControlProps>;
@@ -0,0 +1,17 @@
1
+ const customControlProps = {
2
+ anchor: {
3
+ type: String,
4
+ default: "BMAP_ANCHOR_TOP_RIGHT"
5
+ },
6
+ offset: {
7
+ type: Object,
8
+ default: { x: 0, y: 0 }
9
+ },
10
+ visible: {
11
+ type: Boolean,
12
+ default: true
13
+ }
14
+ };
15
+
16
+ export { customControlProps };
17
+ //# sourceMappingURL=custom-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-props.mjs","sources":["../../../../src/control/custom/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/control/custom/src/custom-props.ts"],"sourcesContent":["import type { PropType } from 'vue'\r\nimport type { ExtractPublicPropTypes } from '../../../_utils'\r\n\r\nexport const customControlProps = {\r\n anchor: {\r\n type: String,\r\n default: 'BMAP_ANCHOR_TOP_RIGHT',\r\n },\r\n offset: {\r\n type: Object as PropType<{ x: number, y: number }>,\r\n default: { x: 0, y: 0 },\r\n },\r\n visible: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n} as const\r\n\r\nexport type CustomControlProps = ExtractPublicPropTypes<typeof customControlProps>\r\n"],"names":[],"mappings":"AAGO,MAAM,kBAAA,GAAqB;AAAA,EAChC,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,EAAE,CAAA,EAAG,CAAA,EAAG,GAAG,CAAA;AAAC,GACtB;AAAA,EACD,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;;;;;"}
@@ -0,0 +1,47 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly anchor: {
3
+ readonly type: StringConstructor;
4
+ readonly default: "BMAP_ANCHOR_TOP_RIGHT";
5
+ };
6
+ readonly offset: {
7
+ readonly type: import("vue").PropType<{
8
+ x: number;
9
+ y: number;
10
+ }>;
11
+ readonly default: {
12
+ readonly x: 0;
13
+ readonly y: 0;
14
+ };
15
+ };
16
+ readonly visible: {
17
+ readonly type: BooleanConstructor;
18
+ readonly default: true;
19
+ };
20
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
21
+ readonly anchor: {
22
+ readonly type: StringConstructor;
23
+ readonly default: "BMAP_ANCHOR_TOP_RIGHT";
24
+ };
25
+ readonly offset: {
26
+ readonly type: import("vue").PropType<{
27
+ x: number;
28
+ y: number;
29
+ }>;
30
+ readonly default: {
31
+ readonly x: 0;
32
+ readonly y: 0;
33
+ };
34
+ };
35
+ readonly visible: {
36
+ readonly type: BooleanConstructor;
37
+ readonly default: true;
38
+ };
39
+ }>> & Readonly<{}>, {
40
+ readonly anchor: string;
41
+ readonly offset: {
42
+ x: number;
43
+ y: number;
44
+ };
45
+ readonly visible: boolean;
46
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
47
+ export default _default;
@@ -0,0 +1,49 @@
1
+ import { defineComponent, ref, onMounted, watch, onUnmounted, createVNode, withDirectives, resolveDirective } from 'vue';
2
+ import { customControlProps } from './custom-props.mjs';
3
+ import useMapInstance from '../../../_mixins/use-map-instance.mjs';
4
+
5
+ var custom = /* @__PURE__ */ defineComponent({
6
+ name: "CustomControl",
7
+ props: customControlProps,
8
+ setup(props, {
9
+ attrs,
10
+ slots
11
+ }) {
12
+ const mapInstance = useMapInstance();
13
+ const controlContentRef = ref();
14
+ let control = null;
15
+ onMounted(() => {
16
+ const {
17
+ offset,
18
+ anchor,
19
+ visible
20
+ } = props;
21
+ control = new BMapGL.Control();
22
+ control.defaultAnchor = window[anchor];
23
+ control.defaultOffset = new BMapGL.Size(offset.x, offset.y);
24
+ control.initialize = (_map) => {
25
+ return _map.getContainer().appendChild(controlContentRef.value);
26
+ };
27
+ visible && mapInstance().addControl(control);
28
+ watch(() => props.visible, (n) => {
29
+ if (control) mapInstance()[n ? "addControl" : "removeControl"](control);
30
+ });
31
+ });
32
+ onUnmounted(() => {
33
+ if (control) {
34
+ mapInstance().removeControl(control);
35
+ }
36
+ });
37
+ return () => {
38
+ var _a;
39
+ return createVNode("div", {
40
+ "style": "display: none"
41
+ }, [withDirectives(createVNode("div", {
42
+ "ref": controlContentRef
43
+ }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]), [[resolveDirective("bind"), attrs]])]);
44
+ };
45
+ }
46
+ });
47
+
48
+ export { custom as default };
49
+ //# sourceMappingURL=custom.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.mjs","sources":["../../../../src/control/custom/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/control/custom/src/custom.tsx"],"sourcesContent":["import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue'\r\nimport { useMapInstance } from '../../../_mixins'\r\nimport { customControlProps } from './custom-props'\r\n\r\nexport default defineComponent({\r\n name: 'CustomControl',\r\n props: customControlProps,\r\n setup(props, { attrs, slots }) {\r\n const mapInstance = useMapInstance()\r\n\r\n const controlContentRef = ref<HTMLDivElement>()\r\n\r\n let control: BMapGL.Control | null = null\r\n\r\n onMounted(() => {\r\n const { offset, anchor, visible } = props\r\n control = new BMapGL.Control()\r\n control.defaultAnchor = (window as any)[anchor]\r\n control.defaultOffset = new BMapGL.Size(offset.x, offset.y)\r\n control.initialize = (_map: BMapGL.Map) => {\r\n return _map.getContainer().appendChild(controlContentRef.value as Node) as HTMLElement\r\n }\r\n visible && mapInstance().addControl(control)\r\n watch(\r\n () => props.visible,\r\n (n) => {\r\n if (control)\r\n mapInstance()[n ? 'addControl' : 'removeControl'](control)\r\n },\r\n )\r\n })\r\n\r\n onUnmounted(() => {\r\n if (control) {\r\n mapInstance().removeControl(control)\r\n }\r\n })\r\n\r\n return () => (\r\n <div style=\"display: none\">\r\n <div ref={controlContentRef} v-bind={attrs}>{slots.default?.()}</div>\r\n </div>\r\n )\r\n },\r\n})\r\n"],"names":["name","props","customControlProps","setup","attrs","slots","mapInstance","useMapInstance","controlContentRef","ref","control","onMounted","offset","anchor","visible","BMapGL","Control","defaultAnchor","window","defaultOffset","Size","x","y","initialize","_map","getContainer","appendChild","value","addControl","watch","n","onUnmounted","removeControl","_createVNode","_withDirectives","_a","default","call","_resolveDirective"],"mappings":";;;;AAIA,6CAA+B;AAAA,EAC7BA,IAAAA,EAAM,eAAA;AAAA,EACNC,KAAAA,EAAOC,kBAAAA;AAAAA,EACPC,MAAMF,KAAAA,EAAO;AAAA,IAAEG,KAAAA;AAAAA,IAAOC;AAAAA,GAAK,EAAE;AAC3B,IAAA,MAAMC,cAAcC,cAAAA,EAAc;AAElC,IAAA,MAAMC,oBAAoBC,GAAAA,EAAG;AAE7B,IAAA,IAAIC,OAAAA,GAAiC,IAAA;AAErCC,IAAAA,SAAAA,CAAU,MAAK;AACb,MAAA,MAAM;AAAA,QAAEC,MAAAA;AAAAA,QAAQC,MAAAA;AAAAA,QAAQC;AAAAA,OAAO,GAAKb,KAAAA;AACpCS,MAAAA,OAAAA,GAAU,IAAIK,OAAOC,OAAAA;AACrBN,MAAAA,OAAAA,CAAQO,aAAAA,GAAiBC,OAAeL,MAAM,CAAA;AAC9CH,MAAAA,OAAAA,CAAQS,gBAAgB,IAAIJ,MAAAA,CAAOK,KAAKR,MAAAA,CAAOS,CAAAA,EAAGT,OAAOU,CAAC,CAAA;AAC1DZ,MAAAA,OAAAA,CAAQa,aAAcC,CAAAA,IAAAA,KAAoB;AACxC,QAAA,OAAOA,IAAAA,CAAKC,YAAAA,EAAY,CAAGC,WAAAA,CAAYlB,kBAAkBmB,KAAa,CAAA;AAAA,MACxE,CAAA;AACAb,MAAAA,OAAAA,IAAWR,WAAAA,EAAW,CAAGsB,UAAAA,CAAWlB,OAAO,CAAA;AAC3CmB,MAAAA,KAAAA,CACE,MAAM5B,KAAAA,CAAMa,OAAAA,EACXgB,CAAAA,CAAAA,KAAK;AACJ,QAAA,IAAIpB,SACFJ,WAAAA,EAAW,CAAGwB,IAAI,YAAA,GAAe,eAAe,EAAEpB,OAAO,CAAA;AAAA,MAC7D,CAAC,CAAA;AAAA,IAEL,CAAC,CAAA;AAEDqB,IAAAA,WAAAA,CAAY,MAAK;AACf,MAAA,IAAIrB,OAAAA,EAAS;AACXJ,QAAAA,WAAAA,GAAc0B,cAActB,OAAO,CAAA;AAAA,MACrC;AAAA,IACF,CAAC,CAAA;AAED,IAAA,OAAO,MAAK;;AAAC,MAAA,OAAAuB,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA;AAAA,OAAA,EAAA,CAAAC,cAAAA,CAAAD,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,KAAA,EAECzB;AAAAA,OAAiB,EAAA,CAAA,CAAkB2B,EAAAA,GAAA9B,KAAAA,CAAM+B,OAAAA,MAAO,QAAAD,EAAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,EAAAA,CAAAE,IAAAA,CAAAhC,KAAA,CAAI,CAAA,CAAA,EAAA,CAAA,CAAAiC,gBAAAA,CAAA,MAAA,GAAzBlC,KAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;EAGhD;AACD,CAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ export { default as BScale } from './src/scale';
@@ -1,2 +1,2 @@
1
-
1
+ export { default as BScale } from './src/scale.mjs';
2
2
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ export { default as BZoom } from './src/zoom';
@@ -1,2 +1,2 @@
1
-
1
+ export { default as BZoom } from './src/zoom.mjs';
2
2
  //# sourceMappingURL=index.mjs.map
package/es/index.mjs CHANGED
@@ -2,6 +2,8 @@ export { default as create } from './create.mjs';
2
2
  export { default as BConfigProvider } from './config-provider/src/config-provider.mjs';
3
3
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
4
4
  export { configProviderInjectionKey } from './config-provider/src/constants.mjs';
5
+ export { default as BCustomControl } from './control/custom/src/custom.mjs';
6
+ export { customControlProps } from './control/custom/src/custom-props.mjs';
5
7
  export { default as BTileLayer } from './layer/tile/src/tile.mjs';
6
8
  export { tileLayerProps } from './layer/tile/src/tile-props.mjs';
7
9
  export { default as BXyzLayer } from './layer/xyz/src/xyz.mjs';
@@ -9,6 +11,8 @@ export { xyzLayerProps } from './layer/xyz/src/xyz-props.mjs';
9
11
  export { mapInjectionKey } from './map/src/constants.mjs';
10
12
  export { default as BMap } from './map/src/map.mjs';
11
13
  export { mapProps } from './map/src/map-props.mjs';
14
+ export { default as BMarker } from './overlay/marker/src/marker.mjs';
15
+ export { markerProps } from './overlay/marker/src/marker-props.mjs';
12
16
  export { default as BPolygon } from './overlay/polygon/src/polygon.mjs';
13
17
  export { polygonProps } from './overlay/polygon/src/polygon-props.mjs';
14
18
  export { default as BSector } from './overlay/sector/src/sector.mjs';
package/es/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":";;;;;;;;;;;;;;;;;"}
@@ -107,12 +107,12 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
107
107
  readonly default: false;
108
108
  };
109
109
  }>> & Readonly<{}>, {
110
+ readonly minZoom: number;
111
+ readonly maxZoom: number;
110
112
  readonly visible: boolean;
111
113
  readonly useThumbData: boolean;
112
114
  readonly zIndex: number;
113
115
  readonly zIndexTop: boolean;
114
- readonly minZoom: number;
115
- readonly maxZoom: number;
116
116
  readonly extentCRSIsWGS84: boolean;
117
117
  readonly tms: boolean;
118
118
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1 @@
1
+ export { default as BInfoWindow } from './src/info-window';
@@ -1,2 +1,2 @@
1
-
1
+ export { default as BInfoWindow } from './src/info-window.mjs';
2
2
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=info-window-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-window-props.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { defineComponent, createVNode, Fragment } from 'vue';
2
+
3
+ var infoWindow = /* @__PURE__ */ defineComponent({
4
+ name: "InfoWindow",
5
+ setup() {
6
+ return () => createVNode(Fragment, null, null);
7
+ }
8
+ });
9
+
10
+ export { infoWindow as default };
11
+ //# sourceMappingURL=info-window.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-window.mjs","sources":["../../../../src/overlay/info-window/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/info-window/src/info-window.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport default defineComponent({\r\n name: 'InfoWindow',\r\n setup() {\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","setup","_createVNode","_Fragment"],"mappings":";;AAEA,iDAA+B;AAAA,EAC7BA,IAAAA,EAAM,YAAA;AAAA,EACNC,KAAAA,GAAK;AACH,IAAA,OAAO,MAAAC,WAAAA,CAAAC,QAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,EACT;AACD,CAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ export { default as BLabel } from './src/label';
@@ -1,2 +1,2 @@
1
-
1
+ export { default as BLabel } from './src/label.mjs';
2
2
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=label-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-props.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { defineComponent, createVNode, Fragment } from 'vue';
2
+
3
+ var label = /* @__PURE__ */ defineComponent({
4
+ name: "Label",
5
+ setup() {
6
+ return () => createVNode(Fragment, null, null);
7
+ }
8
+ });
9
+
10
+ export { label as default };
11
+ //# sourceMappingURL=label.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.mjs","sources":["../../../../src/overlay/label/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/label/src/label.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\n\r\nexport default defineComponent({\r\n name: 'Label',\r\n setup() {\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","setup","_createVNode","_Fragment"],"mappings":";;AAEA,4CAA+B;AAAA,EAC7BA,IAAAA,EAAM,OAAA;AAAA,EACNC,KAAAA,GAAK;AACH,IAAA,OAAO,MAAAC,WAAAA,CAAAC,QAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,EACT;AACD,CAAA,CAAA;;;;"}
@@ -0,0 +1,3 @@
1
+ export { default as BMarker } from './src/marker';
2
+ export { markerProps } from './src/marker-props';
3
+ export type { MarkerProps } from './src/marker-props';
@@ -1,2 +1,3 @@
1
-
1
+ export { default as BMarker } from './src/marker.mjs';
2
+ export { markerProps } from './src/marker-props.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":";"}
@@ -0,0 +1,8 @@
1
+ import type { ExtractPublicPropTypes } from '../../../_utils';
2
+ export declare const markerProps: {
3
+ readonly visible: {
4
+ readonly type: BooleanConstructor;
5
+ readonly default: true;
6
+ };
7
+ };
8
+ export type MarkerProps = ExtractPublicPropTypes<typeof markerProps>;
@@ -0,0 +1,9 @@
1
+ const markerProps = {
2
+ visible: {
3
+ type: Boolean,
4
+ default: true
5
+ }
6
+ };
7
+
8
+ export { markerProps };
9
+ //# sourceMappingURL=marker-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker-props.mjs","sources":["../../../../src/overlay/marker/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/marker/src/marker-props.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from '../../../_utils'\r\n\r\nexport const markerProps = {\r\n visible: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n} as const\r\n\r\nexport type MarkerProps = ExtractPublicPropTypes<typeof markerProps>\r\n"],"names":[],"mappings":"AAEO,MAAM,WAAA,GAAc;AAAA,EACzB,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;;;;;"}
@@ -0,0 +1,14 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly visible: {
3
+ readonly type: BooleanConstructor;
4
+ readonly default: true;
5
+ };
6
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7
+ readonly visible: {
8
+ readonly type: BooleanConstructor;
9
+ readonly default: true;
10
+ };
11
+ }>> & Readonly<{}>, {
12
+ readonly visible: boolean;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
14
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { defineComponent, createVNode, Fragment } from 'vue';
2
+ import { markerProps } from './marker-props.mjs';
3
+
4
+ var marker = /* @__PURE__ */ defineComponent({
5
+ name: "Marker",
6
+ props: markerProps,
7
+ setup() {
8
+ return () => createVNode(Fragment, null, null);
9
+ }
10
+ });
11
+
12
+ export { marker as default };
13
+ //# sourceMappingURL=marker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.mjs","sources":["../../../../src/overlay/marker/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/marker/src/marker.tsx"],"sourcesContent":["import { defineComponent } from 'vue'\r\nimport { markerProps } from './marker-props'\r\n\r\nexport default defineComponent({\r\n name: 'Marker',\r\n props: markerProps,\r\n setup() {\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","props","markerProps","setup","_createVNode","_Fragment"],"mappings":";;;AAGA,6CAA+B;AAAA,EAC7BA,IAAAA,EAAM,QAAA;AAAA,EACNC,KAAAA,EAAOC,WAAAA;AAAAA,EACPC,KAAAA,GAAK;AACH,IAAA,OAAO,MAAAC,WAAAA,CAAAC,QAAAA,EAAA,IAAA,EAAA,IAAA,CAAA;AAAA,EACT;AACD,CAAA,CAAA;;;;"}
@@ -1,6 +1,8 @@
1
1
  export * from './config-provider';
2
+ export * from './control/custom';
2
3
  export * from './layer/tile';
3
4
  export * from './layer/xyz';
4
5
  export * from './map';
6
+ export * from './overlay/marker';
5
7
  export * from './overlay/polygon';
6
8
  export * from './overlay/sector';
package/lib/components.js CHANGED
@@ -3,6 +3,8 @@
3
3
  var configProvider = require('./config-provider/src/config-provider.js');
4
4
  var configProviderProps = require('./config-provider/src/config-provider-props.js');
5
5
  var constants = require('./config-provider/src/constants.js');
6
+ var custom = require('./control/custom/src/custom.js');
7
+ var customProps = require('./control/custom/src/custom-props.js');
6
8
  var tile = require('./layer/tile/src/tile.js');
7
9
  var tileProps = require('./layer/tile/src/tile-props.js');
8
10
  var xyz = require('./layer/xyz/src/xyz.js');
@@ -10,6 +12,8 @@ var xyzProps = require('./layer/xyz/src/xyz-props.js');
10
12
  var constants$1 = require('./map/src/constants.js');
11
13
  var map = require('./map/src/map.js');
12
14
  var mapProps = require('./map/src/map-props.js');
15
+ var marker = require('./overlay/marker/src/marker.js');
16
+ var markerProps = require('./overlay/marker/src/marker-props.js');
13
17
  var polygon = require('./overlay/polygon/src/polygon.js');
14
18
  var polygonProps = require('./overlay/polygon/src/polygon-props.js');
15
19
  var sector = require('./overlay/sector/src/sector.js');
@@ -19,6 +23,8 @@ var sector = require('./overlay/sector/src/sector.js');
19
23
  exports.BConfigProvider = configProvider;
20
24
  exports.configProviderProps = configProviderProps.configProviderProps;
21
25
  exports.configProviderInjectionKey = constants.configProviderInjectionKey;
26
+ exports.BCustomControl = custom;
27
+ exports.customControlProps = customProps.customControlProps;
22
28
  exports.BTileLayer = tile;
23
29
  exports.tileLayerProps = tileProps.tileLayerProps;
24
30
  exports.BXyzLayer = xyz;
@@ -26,6 +32,8 @@ exports.xyzLayerProps = xyzProps.xyzLayerProps;
26
32
  exports.mapInjectionKey = constants$1.mapInjectionKey;
27
33
  exports.BMap = map;
28
34
  exports.mapProps = mapProps.mapProps;
35
+ exports.BMarker = marker;
36
+ exports.markerProps = markerProps.markerProps;
29
37
  exports.BPolygon = polygon;
30
38
  exports.polygonProps = polygonProps.polygonProps;
31
39
  exports.BSector = sector;