| | |
| | | }, |
| | | "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", |
| | |
| | | ] |
| | | }, |
| | | { |
| | | "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", |
| | |
| | | |
| | | |
| | | //设置离线地图默认显示 |
| | | 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("地形"); |
| | |
| | | // 模块描述: 底图 |
| | | /////////////////////////////////////////////////////////////////////////// |
| | | define([ |
| | | 'dojo/_base/declare', |
| | | 'dojo/_base/lang', |
| | | 'dojo/_base/array', |
| | | 'dojo/_base/html', |
| | | 'dojo/topic', |
| | | 'jimu/BaseWidget', |
| | | 'jimu/utils', |
| | | 'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css', |
| | | 'libs/zTree_v3/js/jquery.ztree.all' |
| | | ], |
| | | function (declare, |
| | | lang, |
| | | array, |
| | | html, |
| | | topic, |
| | | BaseWidget, |
| | | aspect, |
| | | string, |
| | | utils |
| | | ) { |
| | | return declare([BaseWidget], { |
| | | baseClass: 'jimu-widget-Basemap', |
| | | name: 'Basemap', |
| | | layers:{}, |
| | | startup: function () { |
| | | // 暴露在外的接口 |
| | | topic.subscribe("closeMap", lang.hitch(this, this.closeBaseMap)); |
| | | this.inherited(arguments); |
| | | $('.jimu-widget-Basemap span').click(function () { |
| | | topic.publish('closeTool', this.name); |
| | | topic.publish('closeZtree', this.name); |
| | | if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) { |
| | | $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } else { |
| | | $('.cesium-baseLayerPicker-dropDown').addClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | closeBaseMap: function (item) { |
| | | if (item != this.name) { |
| | | if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) { |
| | | $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } |
| | | 'dojo/_base/declare', |
| | | 'dojo/_base/lang', |
| | | 'dojo/_base/array', |
| | | 'dojo/_base/html', |
| | | 'dojo/topic', |
| | | 'dojo/on', |
| | | 'jimu/BaseWidget', |
| | | 'jimu/utils', |
| | | 'jimu/css!libs/zTree_v3/css/zTreeStyle/zTreeStyle.css', |
| | | 'libs/zTree_v3/js/jquery.ztree.all' |
| | | ], |
| | | function (declare, |
| | | lang, |
| | | array, |
| | | html, |
| | | topic, |
| | | on, |
| | | BaseWidget, |
| | | aspect, |
| | | string, |
| | | utils |
| | | ) { |
| | | return declare([BaseWidget], { |
| | | baseClass: 'jimu-widget-Basemap', |
| | | name: 'Basemap', |
| | | 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); |
| | | if ($('.cesium-baseLayerPicker-dropDown').hasClass('cesium-baseLayerPicker-dropDown-visible') == true) { |
| | | $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } else { |
| | | $('.cesium-baseLayerPicker-dropDown').addClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } |
| | | }, |
| | | }); |
| | | |
| | | onOpen: function () { |
| | | //面板打开的时候触发 (when open this panel trigger) |
| | | }, |
| | | //加载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); |
| | | |
| | | |
| | | onClose: function () { |
| | | //面板关闭的时候触发 (when this panel is closed trigger) |
| | | }, |
| | | |
| | | onMinimize: function () { |
| | | this.resize(); |
| | | }, |
| | | |
| | | onMaximize: function () { |
| | | this.resize(); |
| | | }, |
| | | |
| | | resize: function () { |
| | | |
| | | }, |
| | | |
| | | |
| | | destroy: function () { |
| | | //销毁的时候触发 |
| | | //todo |
| | | //do something before this func |
| | | this.inherited(arguments); |
| | | } |
| | | // 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) { |
| | | $('.cesium-baseLayerPicker-dropDown').removeClass('cesium-baseLayerPicker-dropDown-visible') |
| | | } |
| | | } |
| | | }, |
| | | |
| | | onOpen: function () { |
| | | //面板打开的时候触发 (when open this panel trigger) |
| | | }, |
| | | |
| | | onClose: function () { |
| | | //面板关闭的时候触发 (when this panel is closed trigger) |
| | | }, |
| | | |
| | | onMinimize: function () { |
| | | this.resize(); |
| | | }, |
| | | |
| | | onMaximize: function () { |
| | | this.resize(); |
| | | }, |
| | | |
| | | resize: function () { |
| | | |
| | | }, |
| | | |
| | | |
| | | destroy: function () { |
| | | //销毁的时候触发 |
| | | //todo |
| | | //do something before this func |
| | | this.inherited(arguments); |
| | | } |
| | | |
| | | }); |
| | | }); |