|
@@ -175,7 +175,12 @@ import {
|
|
|
GetYjjbntQxfl,
|
|
|
} from "@/api/ghss/gdbhadd.js";
|
|
|
import { legends } from "../config.js";
|
|
|
-import { loadGeoJSON } from "@/utils/MapHelper/help.js";
|
|
|
+import {
|
|
|
+ loadGeoJSON,
|
|
|
+ Getlayers,
|
|
|
+ addImagery,
|
|
|
+ SetParameters,
|
|
|
+} from "@/utils/MapHelper/help.js";
|
|
|
import { init_handler } from "@/utils/MapHelper/clickQuery.js";
|
|
|
export default {
|
|
|
props: {
|
|
@@ -240,6 +245,8 @@ export default {
|
|
|
},
|
|
|
cityList: [],
|
|
|
imagelayers: {},
|
|
|
+ provider: null,
|
|
|
+ layers: [],
|
|
|
};
|
|
|
},
|
|
|
components: {
|
|
@@ -270,6 +277,22 @@ export default {
|
|
|
dlbmChange() {
|
|
|
this.gtype = this.typeList.find((x) => x.id == this.dlbm).label;
|
|
|
this.regionChange();
|
|
|
+ // serverfwmc
|
|
|
+ console.log(this.provider);
|
|
|
+ if (this.layers.length) {
|
|
|
+ this.sourcesshow(false);
|
|
|
+ SetParameters(
|
|
|
+ this.layers[0].name,
|
|
|
+ `dlbm like '${this.dlbm}%'`,
|
|
|
+ // `dlbm = ${this.dlbm}`,
|
|
|
+ this.provider,
|
|
|
+ (lid) => {
|
|
|
+ let yobj = this.yearList.find((y) => y.year == this.nowyear);
|
|
|
+ console.log(yobj, this.yearList, this.nowyear, "obj");
|
|
|
+ if (yobj) this.setImager({ ...yobj, lid });
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
},
|
|
|
async GetDate() {
|
|
|
this.yearList = [];
|
|
@@ -293,25 +316,46 @@ export default {
|
|
|
|
|
|
this.nowyear = this.yearList.length ? this.yearList[0].year : "";
|
|
|
init_handler(this.yearList[0], this.showInfo);
|
|
|
- this.setImager(this.yearList[0]);
|
|
|
+ store.setaddNode([
|
|
|
+ { id: "gdbb", url: this.yearList[0].url, label: "耕地保护" },
|
|
|
+ ]);
|
|
|
+ this.setImager(this.yearList[0], true, (layer) => {
|
|
|
+ Getlayers(this.yearList[0].url, (layers) => {
|
|
|
+ this.layers = layers;
|
|
|
+ // SetParameters(
|
|
|
+ // layers,
|
|
|
+ // `dlbm like '${this.dlbm}%'`,
|
|
|
+ // this.provider,
|
|
|
+ // (lid) => {
|
|
|
+ // this.setImager({ ...this.yearList[0], lid });
|
|
|
+ // }
|
|
|
+ // );
|
|
|
+ });
|
|
|
+ });
|
|
|
},
|
|
|
showInfo(data, obj) {
|
|
|
- this.$emit("handleView", data, obj);
|
|
|
+ let legends = store.state.addlegend;
|
|
|
+ if (legends && legends.length && legends[0].id == "gdbb") {
|
|
|
+ this.$emit("handleView", data, obj);
|
|
|
+ }
|
|
|
},
|
|
|
setImager(obj, isshow = true, fun) {
|
|
|
- console.log(obj, isshow, this.imagelayers[obj.year], viewer, "---");
|
|
|
-
|
|
|
- if (this.imagelayers[obj.year]) this.imagelayers[obj.year].show = isshow;
|
|
|
- else if (isshow)
|
|
|
- this.imagelayers[obj.year] = viewer.imageryLayers.addImageryProvider(
|
|
|
- new Cesium.SuperMapImageryProvider({
|
|
|
- url: obj.url,
|
|
|
- name: obj.year,
|
|
|
- })
|
|
|
- );
|
|
|
- if (obj.top) viewer.imageryLayers.raiseToTop(this.imagelayers[obj.year]);
|
|
|
- fun && fun(this.imagelayers[obj.year]);
|
|
|
- viewer.flyTo(this.imagelayers[obj.year]);
|
|
|
+ let lkey = obj.year + (obj.lid || "");
|
|
|
+ console.log(lkey, isshow, this.imagelayers[lkey], "---");
|
|
|
+ if (this.imagelayers[lkey]) this.imagelayers[lkey].show = isshow;
|
|
|
+ else if (isshow) {
|
|
|
+ let superProvider = new Cesium.SuperMapImageryProvider({
|
|
|
+ url: obj.url,
|
|
|
+ name: obj.year,
|
|
|
+ layersID: obj.lid || undefined,
|
|
|
+ });
|
|
|
+ if (!obj.lid) this.provider = superProvider;
|
|
|
+ this.imagelayers[lkey] =
|
|
|
+ viewer.imageryLayers.addImageryProvider(superProvider);
|
|
|
+ }
|
|
|
+ if (obj.top) viewer.imageryLayers.raiseToTop(this.imagelayers[lkey]);
|
|
|
+ fun && fun(this.imagelayers[lkey]);
|
|
|
+ viewer.flyTo(this.imagelayers[lkey]);
|
|
|
},
|
|
|
async regionChange(region) {
|
|
|
// this.region = region;
|
|
@@ -414,7 +458,7 @@ export default {
|
|
|
},
|
|
|
reset() {
|
|
|
this.$nextTick(() => {
|
|
|
- this.setImager({ year: this.nowyear }, false);
|
|
|
+ this.sourcesshow(false);
|
|
|
});
|
|
|
},
|
|
|
setEchart(data, id) {
|
|
@@ -428,6 +472,12 @@ export default {
|
|
|
console.log(newValue, "---");
|
|
|
},
|
|
|
},
|
|
|
+ beforeDestroy() {
|
|
|
+ store.setaddNode([]);
|
|
|
+ this.yearList.forEach((yi) => {
|
|
|
+ viewer.imageryLayers.remove(this.imagelayers[yi.year]);
|
|
|
+ });
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|