| | |
| | | dimensionValue: '2.5维', |
| | | // 建筑2.5D地图 |
| | | newLayer: null, |
| | | baseLayer: null, |
| | | // 电子地图 |
| | | vecLayer: null, |
| | | // 标注 |
| | |
| | | fileExtension: 'png' |
| | | }) |
| | | |
| | | var baseProvider = new that.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: '/base/{z}/{x}/{y}.png', |
| | | fileExtension: 'png' |
| | | }) |
| | | |
| | | // that.baseLayer = that.viewer.imageryLayers.addImageryProvider(baseProvider) |
| | | that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider) |
| | | |
| | | that.wallLayer = new that.DC.VectorLayer('wallLayer') |
| | |
| | | // }) |
| | | // } |
| | | // }) |
| | | // }, 3000) |
| | | // }, 2400) |
| | | that.titlesetLayerFlag = true |
| | | |
| | | that.viewer.camera.setView({ |
| | |
| | | |
| | | that.viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, that.camerAzoom()) |
| | | // 最小 |
| | | that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 1.0 |
| | | that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 200 |
| | | // 最大 |
| | | that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 3000 |
| | | that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 2400 |
| | | |
| | | // 设置相机缩小时的速率 |
| | | // that.viewer.scene.screenSpaceCameraController._minimumZoomRate = 30000 |
| | | // that.viewer.scene.screenSpaceCameraController._minimumZoomRate = 24000 |
| | | // 设置相机放大时的速率 |
| | | that.viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000 |
| | | // 视角平移 |
| | |
| | | that.areaLayer = new that.DC.VectorLayer('areaLayer') |
| | | that.viewer.addLayer(that.areaLayer) |
| | | |
| | | // axios.get('http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson').then(resultData => { |
| | | // resultData.data.features.forEach(item => { |
| | | // item.geometry.rings[0].forEach(it => { |
| | | // it = it.join(',') |
| | | // }) |
| | | axios.get('http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson').then(resultData => { |
| | | resultData.data.features.forEach(item => { |
| | | item.geometry.rings[0].forEach(it => { |
| | | it = it.join(',') |
| | | }) |
| | | |
| | | // item.geometry.rings[0] = item.geometry.rings[0].join(';') |
| | | item.geometry.rings[0] = item.geometry.rings[0].join(';') |
| | | |
| | | // const polygon = new that.DC.Polygon(item.geometry.rings[0]) |
| | | const polygon = new that.DC.Polygon(item.geometry.rings[0]) |
| | | polygon.attr = item.attributes |
| | | |
| | | // polygon.setStyle({ |
| | | polygon.setStyle({ |
| | | material: that.DC.Namespace.Cesium.Color.fromBytes(255, 255, 255, 1) |
| | | }) |
| | | |
| | | // material: that.DC.Namespace.Cesium.Color.fromBytes(255, 255, 255, 255) |
| | | that.areaLayer.addOverlay(polygon) |
| | | }) |
| | | |
| | | // }) |
| | | that.areaLayer.show = true |
| | | }) |
| | | |
| | | // that.areaLayer.addOverlay(polygon) |
| | | // }) |
| | | var select = { |
| | | overlay: undefined, |
| | | color: undefined |
| | | } |
| | | |
| | | // that.areaLayer.show = false |
| | | // }) |
| | | that.viewer.on(that.DC.MouseEventType.MOUSE_MOVE, e => { |
| | | if (e.overlay != undefined) { |
| | | if (select.overlay != undefined) { |
| | | if (e.overlay != select.overlay) { |
| | | select.overlay.setStyle({ |
| | | material: select.color, |
| | | outline: false |
| | | }) |
| | | |
| | | select.overlay = undefined |
| | | select.color = undefined |
| | | } |
| | | } |
| | | |
| | | if (select.overlay == undefined) { |
| | | select.overlay = e.overlay |
| | | |
| | | select.color = e.overlay._style.material |
| | | select.overlay.setStyle({ |
| | | outline: true, |
| | | outlineColor: that.DC.Namespace.Cesium.Color.fromBytes(3, 255, 13, 255), // 边框颜色 |
| | | outlineWidth: 10, // 边框大小, |
| | | height: 0.01, |
| | | material: that.DC.Namespace.Cesium.Color.fromBytes(108, 245, 113, 158) |
| | | }) |
| | | } |
| | | } else { |
| | | if (select.overlay != undefined) { |
| | | select.overlay.setStyle({ |
| | | material: select.color, |
| | | outline: false |
| | | }) |
| | | |
| | | select.overlay = undefined |
| | | select.color = undefined |
| | | } |
| | | } |
| | | }) |
| | | |
| | | that.viewer.on(that.DC.MouseEventType.CLICK, e => { |
| | | if (e.overlay != undefined) { |
| | | that.viewer.scene.globe.depthTestAgainstTerrain = false |
| | | |
| | | that.$store.commit('CLEAR_ALL', null) |
| | | |
| | | var imgArr = ['http://223.82.109.183:2081/zhxy/upload/20220105/3c05dd70a9eac17b7e49afbfc7b1b68e.png'] |
| | | |
| | | that.$store.commit('SET_POPUPBGURL', imgArr[0]) |
| | | that.$store.commit('SET_POPUPQRURL', 'http://223.82.109.183:2081/zhxy/upload/20211222/9c324adea5d9e5b50cd8f874d5f780f4.png') |
| | | that.$store.commit('SET_POINTPOSITION', [Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt), Number(0), Number(0), Number(0)]) |
| | | that.$store.commit('SET_STATENAME', e.overlay.attr['楼栋号']) |
| | | that.$store.commit('SET_POPUPIMGATLAS', imgArr) |
| | | |
| | | // 定制化窗体 |
| | | // eslint-disable-next-line no-unused-vars |
| | | var popup = new that.DC.DivForms(that.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | that.DC.Transform.transformWGS84ToCartesian(new that.DC.Position(Number(e.wgs84Position.lng), Number(e.wgs84Position.lat), Number(e.wgs84Position.alt))) |
| | | ] |
| | | }) |
| | | |
| | | this.$store.commit('SET_PANORAMAPOPUP', false) |
| | | this.$store.commit('SET_MONITORPOPUP', false) |
| | | this.$store.commit('SET_DETAILSPOPUP', true) |
| | | } |
| | | }) |
| | | |
| | | document.querySelector('.dc-zoom-controller').children[1].onclick = function () { |
| | | if (that.dimensionValue == '3 维') { |
| | |
| | | methods: { |
| | | dimensionChange () { |
| | | var that = this |
| | | that.$store.commit('SET_TWOORTHREE', that.dimensionValue) |
| | | if (that.dimensionValue == '3 维') { |
| | | // that.wallLayer.show = false |
| | | that.areaLayer.show = false |
| | | that.viewer.imageryLayers.remove(that.newLayer) |
| | | that.newLayer = null |
| | | // that.viewer.imageryLayers.remove(that.baseLayer) |
| | | that.baseLayer = null |
| | | that.vecLayer = that.viewer.imageryLayers.addImageryProvider(new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({ |
| | | url: ' http://t1.tianditu.gov.cn/vec_w/wmts?tk=9ae78c51a0a28f06444d541148496e36', |
| | | type: 'wmts', |
| | |
| | | that.vecLayer = null |
| | | that.viewer.imageryLayers.remove(that.cvaLayer) |
| | | that.cvaLayer = null |
| | | that.areaLayer.show = true |
| | | |
| | | // var provider = new that.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({ |
| | | // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/PingXiang25DMapQP/MapServer' |
| | |
| | | fileExtension: 'png' |
| | | }) |
| | | |
| | | var baseProvider = new that.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: '/base/{z}/{x}/{y}.png', |
| | | fileExtension: 'png' |
| | | }) |
| | | |
| | | // that.baseLayer = that.viewer.imageryLayers.addImageryProvider(baseProvider) |
| | | that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider) |
| | | |
| | | // that.wallLayer.show = true |
| | |
| | | |
| | | that.viewer.on(that.DC.SceneEventType.CAMERA_CHANGED, that.camerAzoom()) |
| | | // 最小 |
| | | that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 1.0 |
| | | that.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 200 |
| | | // 最大 |
| | | that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 3000 |
| | | that.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 2400 |
| | | // 视角旋转 |
| | | that.viewer.scene.screenSpaceCameraController.enableTilt = false |
| | | } |
| | |
| | | } |
| | | }) |
| | | |
| | | if (height < 100) { |
| | | if (height < 200) { |
| | | that.viewer.camera.setView({ |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 100), |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 200), |
| | | orientation: { |
| | | // 指向 |
| | | heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0), |
| | |
| | | } |
| | | }) |
| | | }; |
| | | if (height > 3000) { |
| | | if (height > 2400) { |
| | | that.viewer.camera.setView({ |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 3000), |
| | | destination: that.DC.Namespace.Cesium.Cartesian3.fromRadians(that.viewer.camera.positionCartographic.longitude, that.viewer.camera.positionCartographic.latitude, 2400), |
| | | orientation: { |
| | | // 指向 |
| | | heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0), |