北京经济技术开发区经开区虚拟城市项目-【前端】-Web
Jin Lei
2023-11-11 3b5dbac6e74e9c8d8baf9fa997436ea567c69340
src/components/map/viewer1.vue
@@ -94,7 +94,7 @@
import Bus from "../tools/Bus";
let line, line1, handler, handler1, divPoint, divPoint1, dx, activeLi, nLayer, TDLayer;
let line, line1, handler, handler1, divPoint, divPoint1, dx, activeLi, nLayer, TDLayer, LWLayer;
export default {
  name: "viewer1",
  components: { layerTreeTwoScreenRight },
@@ -179,6 +179,7 @@
          sgworld1.Creator.DeleteObject(line1);
        }
      } else {
        this.destroyImageLayer();
        if (!TDLayer) {
          this.loadTDGLLayer();
        }
@@ -282,6 +283,10 @@
        Viewer1.imageryLayers.remove(nLayer, true);
        nLayer = null;
      }
      if (LWLayer) {
        Viewer1.imageryLayers.remove(LWLayer, true);
        LWLayer = null;
      }
    },
    changeLeftMap(event, item, index) {
      let liObj = event.currentTarget;
@@ -299,6 +304,41 @@
        nLayer = null;
      }
      nLayer = this.loadBJ54ImageLayer(year);
      if (!LWLayer) {
        LWLayer = this.loadBJ54LWLayer();
      }
    },
    loadBJ54LWLayer() {
      let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";
      //let url = option.url;
      //let year = option.year;
      let paramUrl = `${url}?user=jjjskfq&password=Jjjskfq@2022&layer=Shiliang_Lw_2019&style=&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={nx}&TileRow={ny}`;
      let minx = 113.168199 * Math.PI / 180.0;
      let miny = 39.230551 * Math.PI / 180.0;
      let maxx = 118.562362 * Math.PI / 180.0;
      let maxy = 41.294714 * Math.PI / 180.0;
      let rectangle = new Cesium.Rectangle(minx, miny, maxx, maxy);
      let tilingScheme = new Cesium.GeographicTilingScheme({
        rectangle: rectangle,
        numberOfLevelZeroTilesX: 2,
        numberOfLevelZeroTilesY: 1
      });
      var dx = {
        url: paramUrl,
        tilingScheme: tilingScheme,
        customTags: {
          nx: function (imageryProvider, x, y, level) {
            return (2 << (level - 1)) + x;
          },
          ny: function (imageryProvider, x, y, level) {
            return (2 << (level - 1)) + y;
          }
        }
      };
      var imageryProvider = new Cesium.UrlTemplateImageryProvider(dx);
      let imageLayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1, brightness: 1.0 });
      Viewer1.imageryLayers.add(imageLayer, 3);
      return imageLayer;
    },
    loadBJ54ImageLayer(year) {
      let url = "http://172.26.64.84/service/ImageEngine/picdis/abc";