ym-giswidget-2d 1.0.30 → 1.0.31

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.
@@ -128,7 +128,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
128
128
  },
129
129
  emits: ["loaded"],
130
130
  setup(__props, { emit: __emit }) {
131
- const modules = /* @__PURE__ */ Object.assign({ "../clear/Clear.vue": () => import("../clear/Clear.vue2.js"), "../clear/index.ts": () => import("../clear/index.js"), "../draw/Draw.vue": () => import("../draw/Draw.vue2.js"), "../draw/index.ts": () => import("../draw/index.js"), "../export/Export.vue": () => import("../export/Export.vue.js"), "../export/index.ts": () => import("../export/index.js"), "./HorizontallyTopToolbar.vue": () => import("./HorizontallyTopToolbar.vue.js"), "./index.ts": () => import("./index.js"), "../identify/Identify.vue": () => import("../identify/Identify.vue2.js"), "../identify/index.ts": () => import("../identify/index.js"), "../import/Import.vue": () => import("../import/Import.vue2.js"), "../import/index.ts": () => import("../import/index.js"), "../layer-tree/LayerTree.vue": () => import("../layer-tree/LayerTree.vue.js"), "../layer-tree/index.ts": () => import("../layer-tree/index.js"), "../map-view/MapView.vue": () => import("../map-view/MapView.vue2.js"), "../map-view/index.ts": () => import("../map-view/index.js"), "../mouse-position/MousePositon.vue": () => import("../mouse-position/MousePositon.vue.js"), "../mouse-position/index.ts": () => import("../mouse-position/index.js"), "../multi-screen-panel/PanelMultiScreen.vue": () => import("../multi-screen-panel/PanelMultiScreen.vue.js"), "../multi-screen-panel/index.ts": () => import("../multi-screen-panel/index.js"), "../multi-screen/MultiScreen.vue": () => import("../multi-screen/MultiScreen.vue.js"), "../multi-screen/index.ts": () => import("../multi-screen/index.js"), "../popup/Popup.vue": () => import("../popup/Popup.vue.js"), "../popup/index.ts": () => import("../popup/index.js"), "../scale-line/ScaleLine.vue": () => import("../scale-line/ScaleLine.vue.js"), "../scale-line/index.ts": () => import("../scale-line/index.js"), "../select/Select.vue": () => import("../select/Select.vue2.js"), "../select/index.ts": () => import("../select/index.js"), "../swipe-layer/SwipeLayer.vue": () => import("../swipe-layer/SwipeLayer.vue2.js"), "../swipe-layer/index.ts": () => import("../swipe-layer/index.js"), "../toc-card/TocCard.vue": () => import("../toc-card/TocCard.vue.js"), "../toc-card/index.ts": () => import("../toc-card/index.js") });
131
+ const modules = /* @__PURE__ */ Object.assign({ "../clear/Clear.vue": () => import("../clear/Clear.vue2.js"), "../clear/index.ts": () => import("../clear/index.js"), "../draw/Draw.vue": () => import("../draw/Draw.vue2.js"), "../draw/index.ts": () => import("../draw/index.js"), "../export/Export.vue": () => import("../export/Export.vue.js"), "../export/index.ts": () => import("../export/index.js"), "./HorizontallyTopToolbar.vue": () => import("./HorizontallyTopToolbar.vue.js"), "./index.ts": () => import("./index.js"), "../identify/Identify.vue": () => import("../identify/Identify.vue2.js"), "../identify/index.ts": () => import("../identify/index.js"), "../import/Import.vue": () => import("../import/Import.vue2.js"), "../import/index.ts": () => import("../import/index.js"), "../layer-tree/LayerTree.vue": () => import("../layer-tree/LayerTree.vue.js"), "../layer-tree/index.ts": () => import("../layer-tree/index.js"), "../legend/Legend.vue": () => import("../legend/Legend.vue.js"), "../legend/index.ts": () => import("../legend/index.js"), "../map-view/MapView.vue": () => import("../map-view/MapView.vue2.js"), "../map-view/index.ts": () => import("../map-view/index.js"), "../mouse-position/MousePositon.vue": () => import("../mouse-position/MousePositon.vue.js"), "../mouse-position/index.ts": () => import("../mouse-position/index.js"), "../multi-screen-panel/PanelMultiScreen.vue": () => import("../multi-screen-panel/PanelMultiScreen.vue.js"), "../multi-screen-panel/index.ts": () => import("../multi-screen-panel/index.js"), "../multi-screen/MultiScreen.vue": () => import("../multi-screen/MultiScreen.vue.js"), "../multi-screen/index.ts": () => import("../multi-screen/index.js"), "../popup/Popup.vue": () => import("../popup/Popup.vue.js"), "../popup/index.ts": () => import("../popup/index.js"), "../scale-line/ScaleLine.vue": () => import("../scale-line/ScaleLine.vue.js"), "../scale-line/index.ts": () => import("../scale-line/index.js"), "../select/Select.vue": () => import("../select/Select.vue2.js"), "../select/index.ts": () => import("../select/index.js"), "../swipe-layer/SwipeLayer.vue": () => import("../swipe-layer/SwipeLayer.vue2.js"), "../swipe-layer/index.ts": () => import("../swipe-layer/index.js"), "../toc-card/TocCard.vue": () => import("../toc-card/TocCard.vue.js"), "../toc-card/index.ts": () => import("../toc-card/index.js") });
132
132
  const emit = __emit;
133
133
  const props = __props;
134
134
  const reactiveValue = reactive({
@@ -0,0 +1,14 @@
1
+ import { IMapService } from 'ym-gis-2d/entity';
2
+ import { default as OLMap } from 'ym-gis-2d/mapView/Map';
3
+ /**
4
+ * showGeodetic 是否显示经纬度坐标,默认为false。如果是true,则显示经纬度坐标,否则根据地图坐标系显示坐标
5
+ */
6
+ type __VLS_Props = {
7
+ map: OLMap;
8
+ layers: IMapService[];
9
+ title?: string;
10
+ };
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
12
+ legendRef: HTMLDivElement;
13
+ }, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./Legend.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const _Legend = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-83757dcb"]]);
5
+ export {
6
+ _Legend as default
7
+ };
@@ -0,0 +1,36 @@
1
+ import { defineComponent, ref, onMounted, onUnmounted, createElementBlock, openBlock } from "vue";
2
+ import LegendControl from "ym-gis-2d/controls/LegendControl";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "Legend",
5
+ props: {
6
+ map: {},
7
+ layers: {},
8
+ title: {}
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const legendRef = ref();
13
+ onMounted(() => {
14
+ const control = new LegendControl({
15
+ target: legendRef.value,
16
+ className: "legend",
17
+ layerInfos: props.layers,
18
+ title: props.title
19
+ });
20
+ props.map.controlManager.addControl("legend", control);
21
+ });
22
+ onUnmounted(() => {
23
+ props.map.controlManager.removeControl("legend");
24
+ });
25
+ return (_ctx, _cache) => {
26
+ return openBlock(), createElementBlock("div", {
27
+ ref_key: "legendRef",
28
+ ref: legendRef,
29
+ class: "legend-container"
30
+ }, null, 512);
31
+ };
32
+ }
33
+ });
34
+ export {
35
+ _sfc_main as default
36
+ };
@@ -0,0 +1,11 @@
1
+ .legend-container[data-v-83757dcb] {
2
+ position: absolute;
3
+ left: 10px;
4
+ top: 10px;
5
+ background-color: var(--system-primary-color);
6
+ border: 1px solid var(--system-primary-border-color);
7
+ }
8
+ .legend-container[data-v-83757dcb] .legend {
9
+ color: var(--system-primary-text-color);
10
+ margin: 9px;
11
+ }
@@ -0,0 +1,12 @@
1
+ export declare const Legend: import('../../utils').WithInstall<import('vue').DefineComponent<{
2
+ map: import('ym-gis-2d/mapView/Map').default;
3
+ layers: import('ym-gis-2d/entity').IMapService[];
4
+ title?: string;
5
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
6
+ map: import('ym-gis-2d/mapView/Map').default;
7
+ layers: import('ym-gis-2d/entity').IMapService[];
8
+ title?: string;
9
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
10
+ legendRef: HTMLDivElement;
11
+ }, HTMLDivElement>>;
12
+ export default Legend;
@@ -0,0 +1,8 @@
1
+ import "./index.css";
2
+ import { withInstall } from "../../utils/wthInstall.js";
3
+ import _Legend from "./Legend.vue.js";
4
+ const Legend = withInstall(_Legend);
5
+ export {
6
+ Legend,
7
+ Legend as default
8
+ };
@@ -64,6 +64,49 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
64
64
  relatedId?: string | undefined;
65
65
  minScale?: number | undefined;
66
66
  maxScale?: number | undefined;
67
+ legend?: {
68
+ layerName: string;
69
+ title: string;
70
+ rules: {
71
+ name: string;
72
+ title: string;
73
+ filter: string;
74
+ symbolizers: {
75
+ Polygon?: {
76
+ stroke: string;
77
+ "stroke-width": string;
78
+ "stroke-opacity": string;
79
+ "stroke-linecap": string;
80
+ "stroke-linejoin": string;
81
+ fill: string;
82
+ "fill-opacity": string;
83
+ } | undefined;
84
+ Line?: {
85
+ stroke: string;
86
+ "stroke-width": string;
87
+ "stroke-opacity": string;
88
+ "stroke-linecap": string;
89
+ "stroke-linejoin": string;
90
+ } | undefined;
91
+ Point?: {
92
+ title: string;
93
+ abstract: string;
94
+ url: string;
95
+ size: string;
96
+ opacity: string;
97
+ rotation: string;
98
+ graphics: {
99
+ mark: string;
100
+ fill: string;
101
+ "fill-opacity": string;
102
+ }[];
103
+ } | undefined;
104
+ imgUrl?: string | undefined;
105
+ }[];
106
+ }[];
107
+ url?: string | undefined;
108
+ }[] | undefined;
109
+ showLegend?: boolean | undefined;
67
110
  } | undefined;
68
111
  interactionManager: {
69
112
  map: {
@@ -63,6 +63,49 @@ export declare const MapView: import('../../utils').WithInstall<import('vue').De
63
63
  relatedId?: string | undefined;
64
64
  minScale?: number | undefined;
65
65
  maxScale?: number | undefined;
66
+ legend?: {
67
+ layerName: string;
68
+ title: string;
69
+ rules: {
70
+ name: string;
71
+ title: string;
72
+ filter: string;
73
+ symbolizers: {
74
+ Polygon?: {
75
+ stroke: string;
76
+ "stroke-width": string;
77
+ "stroke-opacity": string;
78
+ "stroke-linecap": string;
79
+ "stroke-linejoin": string;
80
+ fill: string;
81
+ "fill-opacity": string;
82
+ } | undefined;
83
+ Line?: {
84
+ stroke: string;
85
+ "stroke-width": string;
86
+ "stroke-opacity": string;
87
+ "stroke-linecap": string;
88
+ "stroke-linejoin": string;
89
+ } | undefined;
90
+ Point?: {
91
+ title: string;
92
+ abstract: string;
93
+ url: string;
94
+ size: string;
95
+ opacity: string;
96
+ rotation: string;
97
+ graphics: {
98
+ mark: string;
99
+ fill: string;
100
+ "fill-opacity": string;
101
+ }[];
102
+ } | undefined;
103
+ imgUrl?: string | undefined;
104
+ }[];
105
+ }[];
106
+ url?: string | undefined;
107
+ }[] | undefined;
108
+ showLegend?: boolean | undefined;
66
109
  } | undefined;
67
110
  interactionManager: {
68
111
  map: {
@@ -70,6 +70,49 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
70
70
  relatedId?: string | undefined;
71
71
  minScale?: number | undefined;
72
72
  maxScale?: number | undefined;
73
+ legend?: {
74
+ layerName: string;
75
+ title: string;
76
+ rules: {
77
+ name: string;
78
+ title: string;
79
+ filter: string;
80
+ symbolizers: {
81
+ Polygon?: {
82
+ stroke: string;
83
+ "stroke-width": string;
84
+ "stroke-opacity": string;
85
+ "stroke-linecap": string;
86
+ "stroke-linejoin": string;
87
+ fill: string;
88
+ "fill-opacity": string;
89
+ } | undefined;
90
+ Line?: {
91
+ stroke: string;
92
+ "stroke-width": string;
93
+ "stroke-opacity": string;
94
+ "stroke-linecap": string;
95
+ "stroke-linejoin": string;
96
+ } | undefined;
97
+ Point?: {
98
+ title: string;
99
+ abstract: string;
100
+ url: string;
101
+ size: string;
102
+ opacity: string;
103
+ rotation: string;
104
+ graphics: {
105
+ mark: string;
106
+ fill: string;
107
+ "fill-opacity": string;
108
+ }[];
109
+ } | undefined;
110
+ imgUrl?: string | undefined;
111
+ }[];
112
+ }[];
113
+ url?: string | undefined;
114
+ }[] | undefined;
115
+ showLegend?: boolean | undefined;
73
116
  } | undefined;
74
117
  interactionManager: {
75
118
  map: {
@@ -66,6 +66,49 @@ export declare const MultiScreen: import('../../utils').WithInstall<import('vue'
66
66
  relatedId?: string | undefined;
67
67
  minScale?: number | undefined;
68
68
  maxScale?: number | undefined;
69
+ legend?: {
70
+ layerName: string;
71
+ title: string;
72
+ rules: {
73
+ name: string;
74
+ title: string;
75
+ filter: string;
76
+ symbolizers: {
77
+ Polygon?: {
78
+ stroke: string;
79
+ "stroke-width": string;
80
+ "stroke-opacity": string;
81
+ "stroke-linecap": string;
82
+ "stroke-linejoin": string;
83
+ fill: string;
84
+ "fill-opacity": string;
85
+ } | undefined;
86
+ Line?: {
87
+ stroke: string;
88
+ "stroke-width": string;
89
+ "stroke-opacity": string;
90
+ "stroke-linecap": string;
91
+ "stroke-linejoin": string;
92
+ } | undefined;
93
+ Point?: {
94
+ title: string;
95
+ abstract: string;
96
+ url: string;
97
+ size: string;
98
+ opacity: string;
99
+ rotation: string;
100
+ graphics: {
101
+ mark: string;
102
+ fill: string;
103
+ "fill-opacity": string;
104
+ }[];
105
+ } | undefined;
106
+ imgUrl?: string | undefined;
107
+ }[];
108
+ }[];
109
+ url?: string | undefined;
110
+ }[] | undefined;
111
+ showLegend?: boolean | undefined;
69
112
  } | undefined;
70
113
  interactionManager: {
71
114
  map: {
package/index.d.ts CHANGED
@@ -11,3 +11,4 @@ export * from './components/identify';
11
11
  export * from './components/mouse-position';
12
12
  export * from './components/scale-line';
13
13
  export * from './components/map-view';
14
+ export * from './components/legend';
package/index.js CHANGED
@@ -12,6 +12,7 @@ import { Identify } from "./components/identify/index.js";
12
12
  import { MousePositon } from "./components/mouse-position/index.js";
13
13
  import { ScaleLine } from "./components/scale-line/index.js";
14
14
  import { MapView } from "./components/map-view/index.js";
15
+ import { Legend } from "./components/legend/index.js";
15
16
  export {
16
17
  Clear,
17
18
  Draw,
@@ -19,6 +20,7 @@ export {
19
20
  HorizontallyTopToolbar,
20
21
  Identify,
21
22
  Import,
23
+ Legend,
22
24
  MapView,
23
25
  MousePositon,
24
26
  MultiScreen,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ym-giswidget-2d",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "module": "index.js",
@@ -10,6 +10,6 @@
10
10
  "element-plus": "^2.9.0",
11
11
  "jszip": "^3.10.1",
12
12
  "ol": "^9.2.4",
13
- "ym-gis-2d": "1.0.9"
13
+ "ym-gis-2d": "1.0.11"
14
14
  }
15
15
  }