jxdnsong
2020-11-13 5e5f9801348e283fe293cf040c748ec1c0c8a9e8
新增庐陵倾斜数据以及修改底图顺序
3 files modified
107 ■■■■ changed files
config.json 54 ●●●● patch | view | raw | blame | history
jimu.js/MapManager.js 2 ●●● patch | view | raw | blame | history
widgets/Basemap/Widget.js 51 ●●●●● patch | view | raw | blame | history
config.json
@@ -267,33 +267,6 @@
    },
    "imageryProviderViewModels": [
      {
        "name": "天地图影像",
        "tooltip": "天地图全球影像地图服务(国家测绘局)",
        "iconUrl": "images/basemaps/tiandituimage.png",
        "layers": [
          {
            "label": "天地图影像",
            "type": "wmts",
            "url": "http://t0.tianditu.gov.cn/img_w/wmts?tk=e9533f5acb2ac470b07f406a4d24b4f0",
            "layer": "img",
            "style": "default",
            "format": "tiles",
            "tileMatrixSetID": "w",
            "maximumLevel": 17
          },
          {
            "label": "天地图影像标注",
            "type": "wmts",
            "url": "http://t0.tianditu.gov.cn/cia_w/wmts?tk=e9533f5acb2ac470b07f406a4d24b4f0",
            "layer": "cia",
            "style": "default",
            "format": "tiles",
            "tileMatrixSetID": "w",
            "maximumLevel": 17
          }
        ]
      },
      {
        "name": "天地图矢量",
        "tooltip": "天地图矢量",
        "iconUrl": "images/basemaps/tianditushiliang.png",
@@ -321,6 +294,33 @@
        ]
      },
      {
        "name": "天地图影像",
        "tooltip": "天地图全球影像地图服务(国家测绘局)",
        "iconUrl": "images/basemaps/tiandituimage.png",
        "layers": [
          {
            "label": "天地图影像",
            "type": "wmts",
            "url": "http://t0.tianditu.gov.cn/img_w/wmts?tk=e9533f5acb2ac470b07f406a4d24b4f0",
            "layer": "img",
            "style": "default",
            "format": "tiles",
            "tileMatrixSetID": "w",
            "maximumLevel": 17
          },
          {
            "label": "天地图影像标注",
            "type": "wmts",
            "url": "http://t0.tianditu.gov.cn/cia_w/wmts?tk=e9533f5acb2ac470b07f406a4d24b4f0",
            "layer": "cia",
            "style": "default",
            "format": "tiles",
            "tileMatrixSetID": "w",
            "maximumLevel": 17
          }
        ]
      },
      {
        "name": "离线影像",
        "tooltip": "赣州市离线影像",
        "iconUrl": "images/basemaps/gzyx.png",
jimu.js/MapManager.js
@@ -122,7 +122,7 @@
                //设置离线地图默认显示
                this.map.baseLayerPicker.viewModel.selectedImagery = this.map.baseLayerPicker.viewModel.imageryProviderViewModels[2];
                this.map.baseLayerPicker.viewModel.selectedImagery = this.map.baseLayerPicker.viewModel.imageryProviderViewModels[1];
                this.map.baseLayerPicker.viewModel.selectedTerrain = this.map.baseLayerPicker.viewModel.terrainProviderViewModels[2];
                $(".cesium-baseLayerPicker-sectionTitle").eq(0).html("底图");
                $(".cesium-baseLayerPicker-sectionTitle").eq(1).html("地形");
widgets/Basemap/Widget.js
@@ -8,6 +8,7 @@
        'dojo/_base/array',
        'dojo/_base/html',
        'dojo/topic',
    'dojo/on',
        'jimu/BaseWidget',
        'jimu/utils',
        'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css',
@@ -18,6 +19,7 @@
        array,
        html,
        topic,
    on,
        BaseWidget,
        aspect,
        string,
@@ -26,11 +28,13 @@
        return declare([BaseWidget], {
            baseClass: 'jimu-widget-Basemap',
            name: 'Basemap',
            layers:{},
        tileset:null,
            startup: function () {
                // 暴露在外的接口
                topic.subscribe("closeMap", lang.hitch(this, this.closeBaseMap));
                this.inherited(arguments);
            $(".cesium-baseLayerPicker-sectionTitle").eq(0).html("底图");
            $(".cesium-baseLayerPicker-sectionTitle").eq(1).html("地形");
                $('.jimu-widget-Basemap span').click(function () {
                    topic.publish('closeTool', this.name);
                    topic.publish('closeZtree', this.name);
@@ -39,9 +43,50 @@
                    } else {
                        $('.cesium-baseLayerPicker-dropDown').addClass('cesium-baseLayerPicker-dropDown-visible')
                    }
                })
            },
            });
            //加载3DTile
            this.tileset = this.map.scene.primitives.add(
                new Cesium.Cesium3DTileset({
                "url": "http://223.83.52.4:81/data/qx1/tileset.json",
                "maximumScreenSpaceError": 16,
                "preferLeaves":true,
                "maximumNumberOfLoadedTiles": 2000,
                "luminanceAtZenith": 0.8
            }));
            function zoomToTileset(tileset) {
                var cartographic = Cesium.Cartographic.fromCartesian(tileset.boundingSphere.center);
                var surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height);
                var offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, cartographic.height+10);
                var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
                tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
            }
            // tileset数据加载好后,便缩放相机视角
            this.tileset.readyPromise.then(zoomToTileset);
            var tit = dojo.query(".cesium-baseLayerPicker-sectionTitle")[1];
            html.create('div', {
                style:"font-size: 14px;margin-top: 3px;float: right;",
                innerHTML:"倾斜三维"
            }, tit);
            var qxNode = html.create('input', {
                style:"margin-top: 6px;margin-right: 5px;float: right;",
                type:"checkbox",
                checked:"checked"
            }, tit);
            on(qxNode, "click", lang.hitch(this, this._switchTile))
        },
        _switchTile: function () {
            if(this.tileset.show){
                this.tileset.show = false;
            }
            else{
                this.tileset.show = true;
            }
        },
            closeBaseMap: function (item) {
                if (item != this.name) {
                    if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) {