@spuermomonga/vue3-bmapgl 0.0.19 → 0.0.21

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 (53) hide show
  1. package/dist/index.js +219 -1
  2. package/dist/index.prod.js +1 -1
  3. package/es/_utils/map.mjs +1 -1
  4. package/es/_utils/map.mjs.map +1 -1
  5. package/es/components.d.ts +2 -0
  6. package/es/components.mjs +4 -0
  7. package/es/components.mjs.map +1 -1
  8. package/es/index.mjs +4 -0
  9. package/es/index.mjs.map +1 -1
  10. package/es/overlay/ground/index.d.ts +3 -0
  11. package/es/overlay/ground/index.mjs +3 -0
  12. package/es/overlay/ground/index.mjs.map +1 -0
  13. package/es/overlay/ground/src/ground-props.d.ts +20 -0
  14. package/es/overlay/ground/src/ground-props.mjs +17 -0
  15. package/es/overlay/ground/src/ground-props.mjs.map +1 -0
  16. package/es/overlay/ground/src/ground.d.ts +38 -0
  17. package/es/overlay/ground/src/ground.mjs +82 -0
  18. package/es/overlay/ground/src/ground.mjs.map +1 -0
  19. package/es/overlay/polyline/index.d.ts +3 -0
  20. package/es/overlay/polyline/index.mjs +3 -0
  21. package/es/overlay/polyline/index.mjs.map +1 -0
  22. package/es/overlay/polyline/src/polyline-props.d.ts +50 -0
  23. package/es/overlay/polyline/src/polyline-props.mjs +50 -0
  24. package/es/overlay/polyline/src/polyline-props.mjs.map +1 -0
  25. package/es/overlay/polyline/src/polyline.d.ts +106 -0
  26. package/es/overlay/polyline/src/polyline.mjs +81 -0
  27. package/es/overlay/polyline/src/polyline.mjs.map +1 -0
  28. package/lib/_utils/map.js +1 -1
  29. package/lib/_utils/map.js.map +1 -1
  30. package/lib/components.d.ts +2 -0
  31. package/lib/components.js +8 -0
  32. package/lib/components.js.map +1 -1
  33. package/lib/index.js +8 -0
  34. package/lib/index.js.map +1 -1
  35. package/lib/overlay/ground/index.d.ts +3 -0
  36. package/lib/overlay/ground/index.js +10 -0
  37. package/lib/overlay/ground/index.js.map +1 -0
  38. package/lib/overlay/ground/src/ground-props.d.ts +20 -0
  39. package/lib/overlay/ground/src/ground-props.js +19 -0
  40. package/lib/overlay/ground/src/ground-props.js.map +1 -0
  41. package/lib/overlay/ground/src/ground.d.ts +38 -0
  42. package/lib/overlay/ground/src/ground.js +84 -0
  43. package/lib/overlay/ground/src/ground.js.map +1 -0
  44. package/lib/overlay/polyline/index.d.ts +3 -0
  45. package/lib/overlay/polyline/index.js +10 -0
  46. package/lib/overlay/polyline/index.js.map +1 -0
  47. package/lib/overlay/polyline/src/polyline-props.d.ts +50 -0
  48. package/lib/overlay/polyline/src/polyline-props.js +52 -0
  49. package/lib/overlay/polyline/src/polyline-props.js.map +1 -0
  50. package/lib/overlay/polyline/src/polyline.d.ts +106 -0
  51. package/lib/overlay/polyline/src/polyline.js +83 -0
  52. package/lib/overlay/polyline/src/polyline.js.map +1 -0
  53. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,50 @@
1
+ import type { PropType } from 'vue';
2
+ import type { ExtractPublicPropTypes } from '../../../_utils';
3
+ export declare const polylineProps: {
4
+ visible: {
5
+ type: BooleanConstructor;
6
+ default: boolean;
7
+ };
8
+ points: PropType<BMapGL.Point[]>;
9
+ strokeColor: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ strokeWeight: {
14
+ type: NumberConstructor;
15
+ default: number;
16
+ };
17
+ strokeOpacity: {
18
+ type: NumberConstructor;
19
+ default: number;
20
+ };
21
+ strokeStyle: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ enableMassClear: {
26
+ type: BooleanConstructor;
27
+ default: boolean;
28
+ };
29
+ enableEditing: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ enableClicking: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ geodesic: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
41
+ clip: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ linkRight: {
46
+ type: BooleanConstructor;
47
+ default: boolean;
48
+ };
49
+ };
50
+ export type PolylineProps = ExtractPublicPropTypes<typeof polylineProps>;
@@ -0,0 +1,50 @@
1
+ const polylineProps = {
2
+ visible: {
3
+ type: Boolean,
4
+ default: true
5
+ },
6
+ points: Array,
7
+ strokeColor: {
8
+ type: String,
9
+ default: "#000"
10
+ },
11
+ strokeWeight: {
12
+ type: Number,
13
+ default: 2
14
+ },
15
+ strokeOpacity: {
16
+ type: Number,
17
+ default: 1
18
+ },
19
+ strokeStyle: {
20
+ type: String,
21
+ default: "solid"
22
+ },
23
+ enableMassClear: {
24
+ type: Boolean,
25
+ default: true
26
+ },
27
+ enableEditing: {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ enableClicking: {
32
+ type: Boolean,
33
+ default: true
34
+ },
35
+ geodesic: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ clip: {
40
+ type: Boolean,
41
+ default: true
42
+ },
43
+ linkRight: {
44
+ type: Boolean,
45
+ default: true
46
+ }
47
+ };
48
+
49
+ export { polylineProps };
50
+ //# sourceMappingURL=polyline-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyline-props.mjs","sources":["../../../../src/overlay/polyline/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/polyline/src/polyline-props.tsx"],"sourcesContent":["import type { PropType } from 'vue'\r\nimport type { ExtractPublicPropTypes } from '../../../_utils'\r\n\r\nexport const polylineProps = {\r\n visible: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n points: Array as PropType<BMapGL.Point[]>,\r\n strokeColor: {\r\n type: String,\r\n default: '#000',\r\n },\r\n strokeWeight: {\r\n type: Number,\r\n default: 2,\r\n },\r\n strokeOpacity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n strokeStyle: {\r\n type: String,\r\n default: 'solid',\r\n },\r\n enableMassClear: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n enableEditing: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n enableClicking: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n geodesic: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n clip: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n linkRight: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n}\r\n\r\nexport type PolylineProps = ExtractPublicPropTypes<typeof polylineProps>\r\n"],"names":["polylineProps","visible","type","Boolean","default","points","Array","strokeColor","String","strokeWeight","Number","strokeOpacity","strokeStyle","enableMassClear","enableEditing","enableClicking","geodesic","clip","linkRight"],"mappings":"AAGO,MAAMA,aAAAA,GAAgB;AAAA,EAC3BC,OAAAA,EAAS;AAAA,IACPC,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDC,MAAAA,EAAQC,KAAAA;AAAAA,EACRC,WAAAA,EAAa;AAAA,IACXL,IAAAA,EAAMM,MAAAA;AAAAA,IACNJ,OAAAA,EAAS;AAAA,GACV;AAAA,EACDK,YAAAA,EAAc;AAAA,IACZP,IAAAA,EAAMQ,MAAAA;AAAAA,IACNN,OAAAA,EAAS;AAAA,GACV;AAAA,EACDO,aAAAA,EAAe;AAAA,IACbT,IAAAA,EAAMQ,MAAAA;AAAAA,IACNN,OAAAA,EAAS;AAAA,GACV;AAAA,EACDQ,WAAAA,EAAa;AAAA,IACXV,IAAAA,EAAMM,MAAAA;AAAAA,IACNJ,OAAAA,EAAS;AAAA,GACV;AAAA,EACDS,eAAAA,EAAiB;AAAA,IACfX,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDU,aAAAA,EAAe;AAAA,IACbZ,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDW,cAAAA,EAAgB;AAAA,IACdb,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDY,QAAAA,EAAU;AAAA,IACRd,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDa,IAAAA,EAAM;AAAA,IACJf,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA,GACV;AAAA,EACDc,SAAAA,EAAW;AAAA,IACThB,IAAAA,EAAMC,OAAAA;AAAAA,IACNC,OAAAA,EAAS;AAAA;;;;;"}
@@ -0,0 +1,106 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ visible: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ points: import("vue").PropType<BMapGL.Point[]>;
7
+ strokeColor: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ strokeWeight: {
12
+ type: NumberConstructor;
13
+ default: number;
14
+ };
15
+ strokeOpacity: {
16
+ type: NumberConstructor;
17
+ default: number;
18
+ };
19
+ strokeStyle: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ enableMassClear: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ enableEditing: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
31
+ enableClicking: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ geodesic: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
39
+ clip: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
43
+ linkRight: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
+ visible: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ points: import("vue").PropType<BMapGL.Point[]>;
53
+ strokeColor: {
54
+ type: StringConstructor;
55
+ default: string;
56
+ };
57
+ strokeWeight: {
58
+ type: NumberConstructor;
59
+ default: number;
60
+ };
61
+ strokeOpacity: {
62
+ type: NumberConstructor;
63
+ default: number;
64
+ };
65
+ strokeStyle: {
66
+ type: StringConstructor;
67
+ default: string;
68
+ };
69
+ enableMassClear: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ enableEditing: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ enableClicking: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ geodesic: {
82
+ type: BooleanConstructor;
83
+ default: boolean;
84
+ };
85
+ clip: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
89
+ linkRight: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ }>> & Readonly<{}>, {
94
+ visible: boolean;
95
+ strokeColor: string;
96
+ strokeWeight: number;
97
+ strokeOpacity: number;
98
+ strokeStyle: string;
99
+ enableMassClear: boolean;
100
+ enableEditing: boolean;
101
+ enableClicking: boolean;
102
+ geodesic: boolean;
103
+ clip: boolean;
104
+ linkRight: boolean;
105
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
106
+ export default _default;
@@ -0,0 +1,81 @@
1
+ import { defineComponent, createVNode, Fragment, watch } from 'vue';
2
+ import { polylineProps } from './polyline-props.mjs';
3
+ import useMapInstance from '../../../_mixins/use-map-instance.mjs';
4
+
5
+ var polyline = /* @__PURE__ */ defineComponent({
6
+ name: "Polyline",
7
+ props: polylineProps,
8
+ setup(props) {
9
+ const mapInstance = useMapInstance();
10
+ let overlay = null;
11
+ const setPoints = (points) => {
12
+ points && (overlay === null || overlay === void 0 ? void 0 : overlay.setPath(points));
13
+ };
14
+ const setStrokeColor = (color) => {
15
+ overlay === null || overlay === void 0 ? void 0 : overlay.setStrokeColor(color);
16
+ };
17
+ const setStrokeOpacity = (opacity) => {
18
+ overlay === null || overlay === void 0 ? void 0 : overlay.setStrokeOpacity(opacity);
19
+ };
20
+ const setStrokeWeight = (weight) => {
21
+ overlay === null || overlay === void 0 ? void 0 : overlay.setStrokeWeight(weight);
22
+ };
23
+ const setStrokeStyle = (style) => {
24
+ overlay === null || overlay === void 0 ? void 0 : overlay.setStrokeStyle(style);
25
+ };
26
+ const setMassClear = (enableMassClear) => {
27
+ enableMassClear ? overlay === null || overlay === void 0 ? void 0 : overlay.enableMassClear() : overlay === null || overlay === void 0 ? void 0 : overlay.disableMassClear();
28
+ };
29
+ const setEditing = (enableEditing) => {
30
+ enableEditing ? overlay === null || overlay === void 0 ? void 0 : overlay.enableEditing() : overlay === null || overlay === void 0 ? void 0 : overlay.disableEditing();
31
+ };
32
+ const startWatchProps = () => {
33
+ watch(() => props.points, setPoints);
34
+ watch(() => props.strokeColor, setStrokeColor);
35
+ watch(() => props.strokeOpacity, setStrokeOpacity);
36
+ watch(() => props.strokeWeight, setStrokeWeight);
37
+ watch(() => props.strokeStyle, setStrokeStyle);
38
+ watch(() => props.enableMassClear, setMassClear);
39
+ watch(() => props.enableEditing, setEditing);
40
+ watch(() => props.visible, (n) => n ? mapInstance().addOverlay(overlay) : mapInstance().removeOverlay(overlay));
41
+ };
42
+ const init = () => {
43
+ const {
44
+ points,
45
+ strokeColor,
46
+ strokeWeight,
47
+ strokeOpacity,
48
+ strokeStyle,
49
+ enableMassClear,
50
+ enableEditing,
51
+ enableClicking,
52
+ geodesic,
53
+ clip,
54
+ linkRight,
55
+ visible
56
+ } = props;
57
+ if (!points) {
58
+ return;
59
+ }
60
+ overlay = new BMapGL.Polyline(points, {
61
+ strokeColor,
62
+ strokeWeight,
63
+ strokeOpacity,
64
+ strokeStyle,
65
+ enableMassClear,
66
+ enableEditing,
67
+ enableClicking,
68
+ geodesic,
69
+ linkRight,
70
+ clip
71
+ });
72
+ visible && mapInstance().addOverlay(overlay);
73
+ startWatchProps();
74
+ };
75
+ init();
76
+ return () => createVNode(Fragment, null, null);
77
+ }
78
+ });
79
+
80
+ export { polyline as default };
81
+ //# sourceMappingURL=polyline.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyline.mjs","sources":["../../../../src/overlay/polyline/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/polyline/src/polyline.tsx"],"sourcesContent":["import { defineComponent, watch } from 'vue'\r\nimport { useMapInstance } from '../../../_mixins'\r\nimport { polylineProps } from './polyline-props'\r\n\r\nexport default defineComponent({\r\n name: 'Polyline',\r\n props: polylineProps,\r\n setup(props) {\r\n const mapInstance = useMapInstance()\r\n\r\n let overlay: BMapGL.Polyline | null = null\r\n\r\n const setPoints = (points?: BMapGL.Point[]) => {\r\n points && overlay?.setPath(points)\r\n }\r\n\r\n const setStrokeColor = (color: string) => {\r\n overlay?.setStrokeColor(color)\r\n }\r\n\r\n const setStrokeOpacity = (opacity: number) => {\r\n overlay?.setStrokeOpacity(opacity)\r\n }\r\n\r\n const setStrokeWeight = (weight: number) => {\r\n overlay?.setStrokeWeight(weight)\r\n }\r\n\r\n const setStrokeStyle = (style: string) => {\r\n overlay?.setStrokeStyle(style)\r\n }\r\n\r\n const setMassClear = (enableMassClear: boolean) => {\r\n enableMassClear ? overlay?.enableMassClear() : overlay?.disableMassClear()\r\n }\r\n\r\n const setEditing = (enableEditing: boolean) => {\r\n enableEditing ? overlay?.enableEditing() : overlay?.disableEditing()\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => props.points, setPoints)\r\n watch(() => props.strokeColor, setStrokeColor)\r\n watch(() => props.strokeOpacity, setStrokeOpacity)\r\n watch(() => props.strokeWeight, setStrokeWeight)\r\n watch(() => props.strokeStyle, setStrokeStyle)\r\n watch(() => props.enableMassClear, setMassClear)\r\n watch(() => props.enableEditing, setEditing)\r\n watch(() => props.visible, n => n ? mapInstance().addOverlay(overlay!) : mapInstance().removeOverlay(overlay!))\r\n }\r\n\r\n const init = () => {\r\n const {\r\n points,\r\n strokeColor,\r\n strokeWeight,\r\n strokeOpacity,\r\n strokeStyle,\r\n enableMassClear,\r\n enableEditing,\r\n enableClicking,\r\n geodesic,\r\n clip,\r\n linkRight,\r\n visible,\r\n } = props\r\n if (!points) {\r\n return\r\n }\r\n overlay = new BMapGL.Polyline(points, {\r\n strokeColor,\r\n strokeWeight,\r\n strokeOpacity,\r\n strokeStyle,\r\n enableMassClear,\r\n enableEditing,\r\n enableClicking,\r\n geodesic,\r\n linkRight,\r\n clip,\r\n })\r\n visible && mapInstance().addOverlay(overlay)\r\n startWatchProps()\r\n }\r\n\r\n init()\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","props","polylineProps","setup","mapInstance","useMapInstance","overlay","setPoints","points","setPath","setStrokeColor","color","setStrokeOpacity","opacity","setStrokeWeight","weight","setStrokeStyle","style","setMassClear","enableMassClear","disableMassClear","setEditing","enableEditing","disableEditing","startWatchProps","watch","strokeColor","strokeOpacity","strokeWeight","strokeStyle","visible","n","addOverlay","removeOverlay","init","enableClicking","geodesic","clip","linkRight","BMapGL","Polyline","_createVNode","_Fragment"],"mappings":"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"}
package/lib/_utils/map.js CHANGED
@@ -3,7 +3,7 @@
3
3
  let isScriptLoaded = false;
4
4
  function loader(options) {
5
5
  const { key, src, addCalToWindow = true, timeout = 1e4 } = options;
6
- if (isScriptLoaded && window.BMapGL) {
6
+ if (isScriptLoaded && window.BMapGL || window.BMapGL) {
7
7
  return Promise.resolve();
8
8
  }
9
9
  return new Promise((resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded && window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n\r\nexport function listToMapPoints(points?: BMapGL.Point[] | number[][] | string[]): BMapGL.Point[] {\r\n if (!points || points.length === 0) {\r\n return []\r\n }\r\n\r\n const first = points[0]\r\n\r\n if (Array.isArray(first)) {\r\n return (points as number[][]).map(([lng, lat]) => new BMapGL.Point(lng, lat))\r\n }\r\n\r\n if (typeof first === 'string') {\r\n return points as BMapGL.Point[]\r\n }\r\n\r\n return points as BMapGL.Point[]\r\n}\r\n\r\nexport function setupMapEvents(map: any, props: Record<string, any>) {\r\n const cleanup = Object.keys(props)\r\n .filter(key => key.startsWith('on') && !key.startsWith('onUpdate') && typeof props[key] === 'function')\r\n .map((propName) => {\r\n const eventName = propName.slice(2).toLocaleLowerCase()\r\n const handler = props[propName]\r\n\r\n const wrapper = (e: any) => {\r\n e.preventDefault?.() || e.domEvent?.preventDefault?.()\r\n e.stopPropagation?.() || e.domEvent?.stopPropagation?.()\r\n handler(e)\r\n }\r\n\r\n map.addEventListener(eventName, wrapper)\r\n return () => map.removeEventListener(eventName, wrapper)\r\n })\r\n\r\n return () => cleanup.forEach(fn => fn())\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if ((isScriptLoaded && window.BMapGL) || window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n\r\nexport function listToMapPoints(points?: BMapGL.Point[] | number[][] | string[]): BMapGL.Point[] {\r\n if (!points || points.length === 0) {\r\n return []\r\n }\r\n\r\n const first = points[0]\r\n\r\n if (Array.isArray(first)) {\r\n return (points as number[][]).map(([lng, lat]) => new BMapGL.Point(lng, lat))\r\n }\r\n\r\n if (typeof first === 'string') {\r\n return points as BMapGL.Point[]\r\n }\r\n\r\n return points as BMapGL.Point[]\r\n}\r\n\r\nexport function setupMapEvents(map: any, props: Record<string, any>) {\r\n const cleanup = Object.keys(props)\r\n .filter(key => key.startsWith('on') && !key.startsWith('onUpdate') && typeof props[key] === 'function')\r\n .map((propName) => {\r\n const eventName = propName.slice(2).toLocaleLowerCase()\r\n const handler = props[propName]\r\n\r\n const wrapper = (e: any) => {\r\n e.preventDefault?.() || e.domEvent?.preventDefault?.()\r\n e.stopPropagation?.() || e.domEvent?.stopPropagation?.()\r\n handler(e)\r\n }\r\n\r\n map.addEventListener(eventName, wrapper)\r\n return () => map.removeEventListener(eventName, wrapper)\r\n })\r\n\r\n return () => cleanup.forEach(fn => fn())\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ export * from './control/custom';
3
3
  export * from './layer/tile';
4
4
  export * from './layer/xyz';
5
5
  export * from './map';
6
+ export * from './overlay/ground';
6
7
  export * from './overlay/info-window';
7
8
  export * from './overlay/marker';
8
9
  export * from './overlay/polygon';
10
+ export * from './overlay/polyline';
9
11
  export * from './overlay/sector';
package/lib/components.js CHANGED
@@ -12,12 +12,16 @@ var xyzProps = require('./layer/xyz/src/xyz-props.js');
12
12
  var constants$1 = require('./map/src/constants.js');
13
13
  var map = require('./map/src/map.js');
14
14
  var mapProps = require('./map/src/map-props.js');
15
+ var ground = require('./overlay/ground/src/ground.js');
16
+ var groundProps = require('./overlay/ground/src/ground-props.js');
15
17
  var infoWindow = require('./overlay/info-window/src/info-window.js');
16
18
  var infoWindowProps = require('./overlay/info-window/src/info-window-props.js');
17
19
  var marker = require('./overlay/marker/src/marker.js');
18
20
  var markerProps = require('./overlay/marker/src/marker-props.js');
19
21
  var polygon = require('./overlay/polygon/src/polygon.js');
20
22
  var polygonProps = require('./overlay/polygon/src/polygon-props.js');
23
+ var polyline = require('./overlay/polyline/src/polyline.js');
24
+ var polylineProps = require('./overlay/polyline/src/polyline-props.js');
21
25
  var sector = require('./overlay/sector/src/sector.js');
22
26
 
23
27
 
@@ -34,11 +38,15 @@ exports.xyzLayerProps = xyzProps.xyzLayerProps;
34
38
  exports.mapInjectionKey = constants$1.mapInjectionKey;
35
39
  exports.BMap = map;
36
40
  exports.mapProps = mapProps.mapProps;
41
+ exports.BGround = ground;
42
+ exports.groundProps = groundProps.groundProps;
37
43
  exports.BInfoWindow = infoWindow;
38
44
  exports.infoWindowProps = infoWindowProps.infoWindowProps;
39
45
  exports.BMarker = marker;
40
46
  exports.markerProps = markerProps.markerProps;
41
47
  exports.BPolygon = polygon;
42
48
  exports.polygonProps = polygonProps.polygonProps;
49
+ exports.BPolyline = polyline;
50
+ exports.polylineProps = polylineProps.polylineProps;
43
51
  exports.BSector = sector;
44
52
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"components.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.js CHANGED
@@ -13,12 +13,16 @@ var xyzProps = require('./layer/xyz/src/xyz-props.js');
13
13
  var constants$1 = require('./map/src/constants.js');
14
14
  var map = require('./map/src/map.js');
15
15
  var mapProps = require('./map/src/map-props.js');
16
+ var ground = require('./overlay/ground/src/ground.js');
17
+ var groundProps = require('./overlay/ground/src/ground-props.js');
16
18
  var infoWindow = require('./overlay/info-window/src/info-window.js');
17
19
  var infoWindowProps = require('./overlay/info-window/src/info-window-props.js');
18
20
  var marker = require('./overlay/marker/src/marker.js');
19
21
  var markerProps = require('./overlay/marker/src/marker-props.js');
20
22
  var polygon = require('./overlay/polygon/src/polygon.js');
21
23
  var polygonProps = require('./overlay/polygon/src/polygon-props.js');
24
+ var polyline = require('./overlay/polyline/src/polyline.js');
25
+ var polylineProps = require('./overlay/polyline/src/polyline-props.js');
22
26
  var sector = require('./overlay/sector/src/sector.js');
23
27
 
24
28
 
@@ -36,11 +40,15 @@ exports.xyzLayerProps = xyzProps.xyzLayerProps;
36
40
  exports.mapInjectionKey = constants$1.mapInjectionKey;
37
41
  exports.BMap = map;
38
42
  exports.mapProps = mapProps.mapProps;
43
+ exports.BGround = ground;
44
+ exports.groundProps = groundProps.groundProps;
39
45
  exports.BInfoWindow = infoWindow;
40
46
  exports.infoWindowProps = infoWindowProps.infoWindowProps;
41
47
  exports.BMarker = marker;
42
48
  exports.markerProps = markerProps.markerProps;
43
49
  exports.BPolygon = polygon;
44
50
  exports.polygonProps = polygonProps.polygonProps;
51
+ exports.BPolyline = polyline;
52
+ exports.polylineProps = polylineProps.polylineProps;
45
53
  exports.BSector = sector;
46
54
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ export { default as BGround } from './src/ground';
2
+ export { groundProps } from './src/ground-props';
3
+ export type { GroundProps } from './src/ground-props';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var ground = require('./src/ground.js');
4
+ var groundProps = require('./src/ground-props.js');
5
+
6
+
7
+
8
+ exports.BGround = ground;
9
+ exports.groundProps = groundProps.groundProps;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ import type { PropType, Ref } from 'vue';
2
+ import type { ExtractPublicPropTypes } from '../../../_utils';
3
+ export declare const groundProps: {
4
+ readonly visible: {
5
+ readonly type: BooleanConstructor;
6
+ readonly default: true;
7
+ };
8
+ readonly opacity: {
9
+ readonly type: NumberConstructor;
10
+ readonly default: 1;
11
+ };
12
+ readonly type: PropType<"video" | "canvas" | "image">;
13
+ readonly bounds: PropType<BMapGL.Bounds | {
14
+ sw: BMapGL.Point;
15
+ ne: BMapGL.Point;
16
+ }>;
17
+ readonly zIndex: NumberConstructor;
18
+ readonly url: PropType<string | HTMLCanvasElement | Ref<HTMLCanvasElement | string> | (() => HTMLCanvasElement | Ref<HTMLCanvasElement | string>)>;
19
+ };
20
+ export type GroundProps = ExtractPublicPropTypes<typeof groundProps>;
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ const groundProps = {
4
+ visible: {
5
+ type: Boolean,
6
+ default: true
7
+ },
8
+ opacity: {
9
+ type: Number,
10
+ default: 1
11
+ },
12
+ type: String,
13
+ bounds: Object,
14
+ zIndex: Number,
15
+ url: Object
16
+ };
17
+
18
+ exports.groundProps = groundProps;
19
+ //# sourceMappingURL=ground-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ground-props.js","sources":["../../../../src/overlay/ground/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/ground/src/ground-props.ts"],"sourcesContent":["import type { PropType, Ref } from 'vue'\r\nimport type { ExtractPublicPropTypes } from '../../../_utils'\r\n\r\nexport const groundProps = {\r\n visible: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n opacity: {\r\n type: Number,\r\n default: 1,\r\n },\r\n type: String as PropType<'video' | 'canvas' | 'image'>,\r\n bounds: Object as PropType<BMapGL.Bounds | { sw: BMapGL.Point, ne: BMapGL.Point }>,\r\n zIndex: Number,\r\n url: Object as PropType<string\r\n | HTMLCanvasElement\r\n | Ref<HTMLCanvasElement | string>\r\n | (() => HTMLCanvasElement | Ref<HTMLCanvasElement | string>)>,\r\n} as const\r\n\r\nexport type GroundProps = ExtractPublicPropTypes<typeof groundProps>\r\n"],"names":[],"mappings":";;AAGO,MAAM,WAAA,GAAc;AAAA,EACzB,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV;AAAA,EACD,IAAA,EAAM,MAAA;AAAA,EACN,MAAA,EAAQ,MAAA;AAAA,EACR,MAAA,EAAQ,MAAA;AAAA,EACR,GAAA,EAAK;;;;;"}
@@ -0,0 +1,38 @@
1
+ import type { Ref } from 'vue';
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
+ readonly visible: {
4
+ readonly type: BooleanConstructor;
5
+ readonly default: true;
6
+ };
7
+ readonly opacity: {
8
+ readonly type: NumberConstructor;
9
+ readonly default: 1;
10
+ };
11
+ readonly type: import("vue").PropType<"video" | "canvas" | "image">;
12
+ readonly bounds: import("vue").PropType<BMapGL.Bounds | {
13
+ sw: BMapGL.Point;
14
+ ne: BMapGL.Point;
15
+ }>;
16
+ readonly zIndex: NumberConstructor;
17
+ readonly url: import("vue").PropType<string | HTMLCanvasElement | Ref<HTMLCanvasElement | string> | (() => HTMLCanvasElement | Ref<HTMLCanvasElement | string>)>;
18
+ }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
+ readonly visible: {
20
+ readonly type: BooleanConstructor;
21
+ readonly default: true;
22
+ };
23
+ readonly opacity: {
24
+ readonly type: NumberConstructor;
25
+ readonly default: 1;
26
+ };
27
+ readonly type: import("vue").PropType<"video" | "canvas" | "image">;
28
+ readonly bounds: import("vue").PropType<BMapGL.Bounds | {
29
+ sw: BMapGL.Point;
30
+ ne: BMapGL.Point;
31
+ }>;
32
+ readonly zIndex: NumberConstructor;
33
+ readonly url: import("vue").PropType<string | HTMLCanvasElement | Ref<HTMLCanvasElement | string> | (() => HTMLCanvasElement | Ref<HTMLCanvasElement | string>)>;
34
+ }>> & Readonly<{}>, {
35
+ readonly visible: boolean;
36
+ readonly opacity: number;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
38
+ export default _default;
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var groundProps = require('./ground-props.js');
5
+ var useMapInstance = require('../../../_mixins/use-map-instance.js');
6
+
7
+ var ground = /* @__PURE__ */ vue.defineComponent({
8
+ name: "Ground",
9
+ props: groundProps.groundProps,
10
+ setup(props) {
11
+ const mapInstance = useMapInstance();
12
+ let overlay = null;
13
+ const getUrl = () => {
14
+ let url = props.url;
15
+ if (typeof url === "function") {
16
+ url = url();
17
+ if (!url) {
18
+ throw new Error(`props url expect a function return string or canvas html element, but got ${url}`);
19
+ }
20
+ }
21
+ return url;
22
+ };
23
+ const getBounds = (bounds) => {
24
+ if ("getSouthWest" in bounds && typeof bounds.getSouthWest === "function") {
25
+ return bounds;
26
+ } else {
27
+ return new BMapGL.Bounds(bounds.sw, bounds.ne);
28
+ }
29
+ };
30
+ const setUrl = () => {
31
+ const url = getUrl();
32
+ if (!url) return;
33
+ overlay === null || overlay === void 0 ? void 0 : overlay.setImageURL(url.value || url);
34
+ };
35
+ const setBoundary = (bounds) => {
36
+ if (!bounds) {
37
+ return;
38
+ }
39
+ const boundsObj = getBounds(bounds);
40
+ overlay === null || overlay === void 0 ? void 0 : overlay.setBounds(boundsObj);
41
+ };
42
+ const setOpacity = (opacity) => {
43
+ overlay === null || overlay === void 0 ? void 0 : overlay.setOpacity(opacity);
44
+ };
45
+ const setZIndex = (zIndex) => {
46
+ zIndex && (overlay === null || overlay === void 0 ? void 0 : overlay.setZIndex(zIndex));
47
+ };
48
+ const startWatchProps = () => {
49
+ vue.watch(() => props.url, setUrl);
50
+ vue.watch(() => props.bounds, setBoundary);
51
+ vue.watch(() => props.opacity, setOpacity);
52
+ vue.watch(() => props.zIndex, setZIndex);
53
+ vue.watch(() => props.visible, (n) => n ? mapInstance().addOverlay(overlay) : mapInstance().removeOverlay(overlay));
54
+ };
55
+ const init = () => {
56
+ const {
57
+ visible,
58
+ opacity,
59
+ type,
60
+ bounds,
61
+ zIndex
62
+ } = props;
63
+ if (!bounds) {
64
+ return;
65
+ }
66
+ const url = getUrl();
67
+ if (!url) return;
68
+ const boundsObj = getBounds(bounds);
69
+ overlay = new BMapGL.GroundOverlay(boundsObj, {
70
+ opacity,
71
+ type,
72
+ url: url.value || url,
73
+ zIndex
74
+ });
75
+ visible && mapInstance().addOverlay(overlay);
76
+ startWatchProps();
77
+ };
78
+ init();
79
+ return () => vue.createVNode(vue.Fragment, null, null);
80
+ }
81
+ });
82
+
83
+ module.exports = ground;
84
+ //# sourceMappingURL=ground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ground.js","sources":["../../../../src/overlay/ground/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmapgl/src/overlay/ground/src/ground.tsx"],"sourcesContent":["import type { Ref } from 'vue'\r\nimport { defineComponent, watch } from 'vue'\r\nimport { useMapInstance } from '../../../_mixins'\r\nimport { groundProps } from './ground-props'\r\n\r\nexport default defineComponent({\r\n name: 'Ground',\r\n props: groundProps,\r\n setup(props) {\r\n const mapInstance = useMapInstance()\r\n\r\n let overlay: BMapGL.GroundOverlay | null = null\r\n\r\n const getUrl = () => {\r\n let url = props.url\r\n if (typeof url === 'function') {\r\n url = url()\r\n if (!url) {\r\n throw new Error(`props url expect a function return string or canvas html element, but got ${url}`)\r\n }\r\n }\r\n return url\r\n }\r\n\r\n const getBounds = (bounds: BMapGL.Bounds | { sw: BMapGL.Point, ne: BMapGL.Point }): BMapGL.Bounds => {\r\n if ('getSouthWest' in bounds && typeof bounds.getSouthWest === 'function') {\r\n return bounds\r\n } else {\r\n return new BMapGL.Bounds((bounds as any).sw, (bounds as any).ne)\r\n }\r\n }\r\n\r\n const setUrl = () => {\r\n const url = getUrl()\r\n if (!url)\r\n return\r\n overlay?.setImageURL(((url as Ref<HTMLCanvasElement>).value || url) as any)\r\n }\r\n\r\n const setBoundary = (bounds: any) => {\r\n if (!bounds) {\r\n return\r\n }\r\n const boundsObj = getBounds(bounds)\r\n overlay?.setBounds(boundsObj)\r\n }\r\n\r\n const setOpacity = (opacity: number) => {\r\n overlay?.setOpacity(opacity)\r\n }\r\n\r\n const setZIndex = (zIndex?: number) => {\r\n zIndex && overlay?.setZIndex(zIndex)\r\n }\r\n\r\n const startWatchProps = () => {\r\n watch(() => props.url, setUrl)\r\n watch(() => props.bounds, setBoundary)\r\n watch(() => props.opacity, setOpacity)\r\n watch(() => props.zIndex, setZIndex)\r\n watch(() => props.visible, n => n ? mapInstance().addOverlay(overlay!) : mapInstance().removeOverlay(overlay!))\r\n }\r\n\r\n const init = () => {\r\n const { visible, opacity, type, bounds, zIndex } = props\r\n if (!bounds) {\r\n return\r\n }\r\n const url = getUrl()\r\n if (!url)\r\n return\r\n const boundsObj = getBounds(bounds)\r\n overlay = new BMapGL.GroundOverlay(boundsObj, {\r\n opacity,\r\n type,\r\n url: (url as Ref<HTMLCanvasElement>).value || url,\r\n zIndex,\r\n })\r\n\r\n visible && mapInstance().addOverlay(overlay)\r\n // visible && syncMapCenter()\r\n startWatchProps()\r\n }\r\n\r\n init()\r\n return () => <></>\r\n },\r\n})\r\n"],"names":["name","props","groundProps","setup","mapInstance","useMapInstance","overlay","getUrl","url","Error","getBounds","bounds","getSouthWest","BMapGL","Bounds","sw","ne","setUrl","setImageURL","value","setBoundary","boundsObj","setBounds","setOpacity","opacity","setZIndex","zIndex","startWatchProps","watch","visible","n","addOverlay","removeOverlay","init","type","GroundOverlay","_createVNode","_Fragment"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default as BPolyline } from './src/polyline';
2
+ export { polylineProps } from './src/polyline-props';
3
+ export type { PolylineProps } from './src/polyline-props';