ym-giswidget-2d 1.0.37 → 1.0.39

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"), "../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") });
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-switcher/LayerSwitcher.vue": () => import("../layer-switcher/LayerSwitcher.vue.js"), "../layer-switcher/index.ts": () => import("../layer-switcher/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,8 @@
1
+ import { IMapService } from 'ym-gis-2d/entity';
2
+ import { default as OLMap } from 'ym-gis-2d/mapView/Map';
3
+ type __VLS_Props = {
4
+ map: OLMap;
5
+ layers: IMapService[];
6
+ };
7
+ 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, {}, HTMLDivElement>;
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./LayerSwitcher.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const _LayerSwitcher = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2222fecf"]]);
5
+ export {
6
+ _LayerSwitcher as default
7
+ };
@@ -0,0 +1,51 @@
1
+ import { defineComponent, reactive, onMounted, createElementBlock, openBlock, Fragment, renderList, normalizeStyle, normalizeClass, createElementVNode, toDisplayString } from "vue";
2
+ const _hoisted_1 = { class: "layerSwitcher" };
3
+ const _hoisted_2 = ["onClick"];
4
+ const _sfc_main = /* @__PURE__ */ defineComponent({
5
+ __name: "LayerSwitcher",
6
+ props: {
7
+ map: {},
8
+ layers: {}
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const reactiveValues = reactive({
13
+ activeIds: []
14
+ //用户存储当前激活的图层id
15
+ });
16
+ onMounted(() => {
17
+ for (const layer of props.layers) {
18
+ if (layer.checked) {
19
+ reactiveValues.activeIds.push(layer.id);
20
+ props.map.addMapLayer(layer);
21
+ }
22
+ }
23
+ });
24
+ function addLayer(layer) {
25
+ if (reactiveValues.activeIds.indexOf(layer.id) > -1) {
26
+ reactiveValues.activeIds.splice(reactiveValues.activeIds.indexOf(layer.id), 1);
27
+ props.map.removeLayerById(layer.id);
28
+ } else {
29
+ reactiveValues.activeIds.push(layer.id);
30
+ props.map.addMapLayer(layer);
31
+ }
32
+ }
33
+ return (_ctx, _cache) => {
34
+ return openBlock(), createElementBlock("div", _hoisted_1, [
35
+ (openBlock(true), createElementBlock(Fragment, null, renderList(props.layers, (item, index) => {
36
+ return openBlock(), createElementBlock("div", {
37
+ key: index,
38
+ onClick: ($event) => addLayer(item),
39
+ class: normalizeClass(["mapTypeCard layer", reactiveValues.activeIds.indexOf(item.id) > -1 ? "active" : ""]),
40
+ style: normalizeStyle({ "z-index": `${props.layers.length - index}`, right: `${(props.layers.length - index) * 5}px`, "background-image": `url(${item.thumbnail})` })
41
+ }, [
42
+ createElementVNode("span", null, toDisplayString(item.title), 1)
43
+ ], 14, _hoisted_2);
44
+ }), 128))
45
+ ]);
46
+ };
47
+ }
48
+ });
49
+ export {
50
+ _sfc_main as default
51
+ };
@@ -0,0 +1,81 @@
1
+ @charset "UTF-8";
2
+ .layerSwitcher[data-v-2222fecf] {
3
+ width: 106px;
4
+ height: 70px;
5
+ position: absolute;
6
+ bottom: 20px;
7
+ right: 20px;
8
+ z-index: 2;
9
+ cursor: pointer;
10
+ border-radius: 5px;
11
+ transition: width 0.8s, height 0.8s;
12
+ -moz-transition: width 0.8s, height 0.8s, -moz-transform 0.8s;
13
+ /* Firefox 4 */
14
+ -webkit-transition: width 0.8s, height 0.8s, -webkit-transform 0.8s;
15
+ /* Safari and Chrome */
16
+ -o-transition: width 0.8s, height 0.8s, -o-transform 0.8s;
17
+ /* Opera */
18
+ }
19
+ .layerSwitcher[data-v-2222fecf]:hover {
20
+ width: unset;
21
+ padding-right: 5px;
22
+ background: rgba(255, 255, 255, 0.3);
23
+ display: flex;
24
+ align-items: center;
25
+ }
26
+ .layerSwitcher:hover .layer[data-v-2222fecf] {
27
+ margin-left: 5px;
28
+ position: unset;
29
+ }
30
+ .layerSwitcher:hover span[data-v-2222fecf] {
31
+ position: unset !important;
32
+ margin-top: 42px;
33
+ }
34
+ .layerSwitcher .mapTypeCard[data-v-2222fecf] {
35
+ position: absolute;
36
+ top: 5px;
37
+ width: 86px;
38
+ height: 60px;
39
+ border-radius: 5px;
40
+ border: solid 1px black;
41
+ transition: right 0.8s;
42
+ -moz-transition: right 0.8s;
43
+ /* Firefox 4 */
44
+ -webkit-transition: right 0.8s;
45
+ /* Safari and Chrome */
46
+ -o-transition: right 0.8s;
47
+ /* Opera */
48
+ transition: right 0.8s;
49
+ -moz-transition: right 0.8s;
50
+ /* Firefox 4 */
51
+ -webkit-transition: right 0.8s;
52
+ /* Safari 和 Chrome */
53
+ -o-transition: right 0.8s;
54
+ /* Opera */
55
+ }
56
+ .layerSwitcher .mapTypeCard span[data-v-2222fecf] {
57
+ width: 84px;
58
+ border-radius: 2px;
59
+ height: 16px;
60
+ position: absolute;
61
+ bottom: 0px;
62
+ display: inline-block;
63
+ font-size: 12px;
64
+ line-height: 16px;
65
+ text-align: center;
66
+ color: #fff;
67
+ background: #888f88;
68
+ opacity: 0.8;
69
+ }
70
+ .layerSwitcher .layer[data-v-2222fecf] {
71
+ background-position: center;
72
+ background-repeat: no-repeat;
73
+ background-size: cover;
74
+ }
75
+ .layerSwitcher .layer[data-v-2222fecf]:hover {
76
+ border: solid 1px #31a5f7;
77
+ }
78
+ .layerSwitcher .layer:hover span[data-v-2222fecf],
79
+ .layerSwitcher .active span[data-v-2222fecf] {
80
+ background: #31a5f7;
81
+ }
@@ -0,0 +1,8 @@
1
+ export declare const LayerSwitcher: import('../../utils').WithInstall<import('vue').DefineComponent<{
2
+ map: import('ym-gis-2d/mapView/Map').default;
3
+ layers: import('ym-gis-2d/entity').IMapService[];
4
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
5
+ map: import('ym-gis-2d/mapView/Map').default;
6
+ layers: import('ym-gis-2d/entity').IMapService[];
7
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>>;
8
+ export default LayerSwitcher;
@@ -0,0 +1,8 @@
1
+ import "./index.css";
2
+ import { withInstall } from "../../utils/wthInstall.js";
3
+ import _LayerSwitcher from "./LayerSwitcher.vue.js";
4
+ const LayerSwitcher = withInstall(_LayerSwitcher);
5
+ export {
6
+ LayerSwitcher,
7
+ LayerSwitcher as default
8
+ };
@@ -107,6 +107,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
107
107
  url?: string | undefined;
108
108
  }[] | undefined;
109
109
  showLegend?: boolean | undefined;
110
+ thumbnail: string;
110
111
  } | undefined;
111
112
  interactionManager: {
112
113
  map: {
@@ -106,6 +106,7 @@ export declare const MapView: import('../../utils').WithInstall<import('vue').De
106
106
  url?: string | undefined;
107
107
  }[] | undefined;
108
108
  showLegend?: boolean | undefined;
109
+ thumbnail: string;
109
110
  } | undefined;
110
111
  interactionManager: {
111
112
  map: {
@@ -113,6 +113,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
113
113
  url?: string | undefined;
114
114
  }[] | undefined;
115
115
  showLegend?: boolean | undefined;
116
+ thumbnail: string;
116
117
  } | undefined;
117
118
  interactionManager: {
118
119
  map: {
@@ -109,6 +109,7 @@ export declare const MultiScreen: import('../../utils').WithInstall<import('vue'
109
109
  url?: string | undefined;
110
110
  }[] | undefined;
111
111
  showLegend?: boolean | undefined;
112
+ thumbnail: string;
112
113
  } | undefined;
113
114
  interactionManager: {
114
115
  map: {
package/index.d.ts CHANGED
@@ -12,3 +12,4 @@ export * from './components/mouse-position';
12
12
  export * from './components/scale-line';
13
13
  export * from './components/map-view';
14
14
  export * from './components/legend';
15
+ export * from './components/layer-switcher';
package/index.js CHANGED
@@ -13,6 +13,7 @@ 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
15
  import { Legend } from "./components/legend/index.js";
16
+ import { LayerSwitcher } from "./components/layer-switcher/index.js";
16
17
  export {
17
18
  Clear,
18
19
  Draw,
@@ -20,6 +21,7 @@ export {
20
21
  HorizontallyTopToolbar,
21
22
  Identify,
22
23
  Import,
24
+ LayerSwitcher,
23
25
  Legend,
24
26
  MapView,
25
27
  MousePositon,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ym-giswidget-2d",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "module": "index.js",