| | |
| | | type: Object, |
| | | default: {}, |
| | | }, |
| | | platformData: { |
| | | type: Object, |
| | | default: {}, |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | myChart: null, // ECharts 实例 |
| | | big: 130, |
| | | data: [ |
| | | { |
| | | name: '自流井区', |
| | | number: '0', |
| | | value: [104.616237686031, 29.081, 300] |
| | | }, |
| | | { |
| | | name: '高新区', |
| | | number: '0', |
| | | value: [104.84, 29.405, 300] |
| | | }, |
| | | { |
| | | name: '大安区', |
| | | number: '0', |
| | | value: [105.136, 29.30548885792289, 300] |
| | | }, |
| | | { |
| | | name: '沿滩区', |
| | | number: '0', |
| | | value: [104.956237686031, 29.2, 300] |
| | | }, |
| | | { |
| | | name: '贡井区', |
| | | number: '0', |
| | | value: [104.436237686031, 29.16048885792289, 300] |
| | | }, |
| | | { |
| | | name: '荣县', |
| | | number: '0', |
| | | value: [104.480237686031, 29.40048885792289, 300] |
| | | }, |
| | | { |
| | | name: '富顺县', |
| | | number: '0', |
| | | value: [105.12, 29.076, 300] |
| | | } |
| | | ], |
| | | // dotData: [ |
| | | // { |
| | | // name: '自流井区', |
| | | // value: [104.645471408, 29.150000, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '高新区', |
| | | // value: [104.780000, 29.22, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '大安区', |
| | | // value: [104.90805, 29.275946, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '沿滩区', |
| | | // value: [104.78804, 29.130594, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '贡井区', |
| | | // value: [104.559106, 29.161427, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '荣县', |
| | | // value: [104.3234, 29.2838, 300], |
| | | // platformOnline: true |
| | | // }, |
| | | // { |
| | | // name: '富顺县', |
| | | // value: [104.950000, 29.04, 300], |
| | | // platformOnline: true |
| | | // } |
| | | // ], |
| | | // markData: [ |
| | | // { |
| | | // name: '自流井区', |
| | | // number: '0', |
| | | // value: [104.490471408, 28.960000, 300] |
| | | // }, |
| | | // { |
| | | // name: '高新区', |
| | | // number: '0', |
| | | // value: [104.86, 29.405, 300] |
| | | // }, |
| | | // { |
| | | // name: '大安区', |
| | | // number: '0', |
| | | // value: [105.236, 29.30548885792289, 300] |
| | | // }, |
| | | // { |
| | | // name: '沿滩区', |
| | | // number: '0', |
| | | // value: [104.760237686031, 28.8500000, 300] |
| | | // }, |
| | | // { |
| | | // name: '贡井区', |
| | | // number: '0', |
| | | // value: [104.322237686031, 29.00048885792289, 300] |
| | | // }, |
| | | // { |
| | | // name: '荣县', |
| | | // number: '0', |
| | | // value: [104.466237686031, 29.44048885792289, 300] |
| | | // }, |
| | | // { |
| | | // name: '富顺县', |
| | | // number: '0', |
| | | // value: [105.18, 29.000000, 300] |
| | | // } |
| | | // ], |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | }, |
| | | methods: { |
| | | initializeMap() { |
| | | this.updateMapData() |
| | | // this.updateMapData() |
| | | this.getChinData('自贡市', chinaJson) |
| | | }, |
| | | updateMapData() { |
| | | this.data.forEach(item => { |
| | | if (this.geoCoordinates[item.name]) { |
| | | item.number = this.geoCoordinates[item.name].score || '0' |
| | | } |
| | | }) |
| | | if (this.geoCoordinates) { |
| | | this.markData.forEach(item => { |
| | | if (this.geoCoordinates[item.name]) { |
| | | item.number = this.geoCoordinates[item.name].score || '0' |
| | | } |
| | | }) |
| | | } |
| | | if (this.platformData) { |
| | | this.dotData.forEach(item => { |
| | | if (this.platformData[item.name]) { |
| | | item.platformOnline = this.platformData[item.name].platformOnline |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | updateChart() { |
| | | if (this.myChart) { |
| | |
| | | // Update the scatter3D series data |
| | | const scatterSeries = option.series.find(s => s.type === 'scatter3D' && s.name !== '散点图'); |
| | | if (scatterSeries) { |
| | | scatterSeries.data = this.data; |
| | | scatterSeries.data = this.markData; |
| | | } |
| | | const dotSeries = option.series.find(s => s.type === 'scatter3D' && s.name === '散点图'); |
| | | if (dotSeries) { |
| | | dotSeries.data = this.dotData; |
| | | } |
| | | this.myChart.setOption(option); |
| | | } |
| | |
| | | map: name, |
| | | left: '-5%', |
| | | top: '5%', |
| | | boxWidth: 100, |
| | | regionHeight: 2, |
| | | zlevel: 5, |
| | | boxWidth: 80, |
| | | regionHeight: 0.5, |
| | | zlevel: 10, |
| | | |
| | | tooltip: { |
| | | show: true, |
| | |
| | | }, |
| | | |
| | | label: { |
| | | show: true, // (地图上的城市名称)是否显示标签 |
| | | show: false, // (地图上的城市名称)是否显示标签 |
| | | distance: 5, |
| | | formatter: function (params) { |
| | | return params.name ? params.name : ' ' |
| | |
| | | |
| | | emphasis: { |
| | | label: { |
| | | show: true, |
| | | show: false, |
| | | textStyle: { |
| | | color: '#ffffff' // 高亮文字为亮蓝色 |
| | | } |
| | |
| | | zoomSensitivity: 0, // 缩放 |
| | | panSensitivity: 0, // 平移 |
| | | center: [0, 0, 0], |
| | | alpha: 70, // 倾斜角度 |
| | | alpha: 30, // 倾斜角度 |
| | | animationDurationUpdate: 1000, // 过渡动画的时长 |
| | | animationEasingUpdate: 'cubicInOut' // 过渡动画的缓动效果 |
| | | }, |
| | |
| | | name: name, |
| | | type: 'map3D', |
| | | map: name, |
| | | boxWidth: 100, |
| | | regionHeight: 2, |
| | | boxWidth: 80, |
| | | regionHeight: 0.5, |
| | | left: '-5%', |
| | | top: '5%', |
| | | zlevel: 10, |
| | | zlevel: 5, |
| | | |
| | | // tooltip: { |
| | | // show: true, |
| | |
| | | zoomSensitivity: 0, // 缩放 |
| | | panSensitivity: 0, // 平移 |
| | | center: [0, 0, 0], |
| | | alpha: 70 // 倾斜角度 |
| | | alpha: 30 // 倾斜角度 |
| | | } |
| | | }, |
| | | { |
| | |
| | | silent: true, |
| | | |
| | | itemStyle: { |
| | | color: '#fc840e', |
| | | color: function (param) { |
| | | if (param.data.platformOnline) { |
| | | return '#04CD44'; |
| | | } else { |
| | | return '#FF0756'; |
| | | } |
| | | }, |
| | | borderWidth: 1, |
| | | borderColor: '#fff' |
| | | }, |
| | | |
| | | data: [ |
| | | { |
| | | name: '自流井区', |
| | | value: [104.665471408, 29.23008885, 300] |
| | | }, |
| | | { |
| | | name: '高新区', |
| | | value: [104.805193, 29.3, 300] |
| | | }, |
| | | { |
| | | name: '大安区', |
| | | value: [104.90805, 29.345946, 300] |
| | | }, |
| | | { |
| | | name: '沿滩区', |
| | | value: [104.80804, 29.200594, 300] |
| | | }, |
| | | { |
| | | name: '贡井区', |
| | | value: [104.579106, 29.241427, 300] |
| | | }, |
| | | { |
| | | name: '荣县', |
| | | value: [104.3534, 29.3538, 300] |
| | | }, |
| | | { |
| | | name: '富顺县', |
| | | value: [104.96, 29.08, 300] |
| | | } |
| | | ] |
| | | data: that.dotData |
| | | }, |
| | | { |
| | | type: 'lines3D', |
| | |
| | | opacity: 1 |
| | | }, |
| | | data: [ |
| | | { |
| | | coords: [ |
| | | [104.665471408, 29.23008885, 300], |
| | | [104.6, 29.125, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.805193, 29.30148885792289, 300], |
| | | [104.780237686031, 29.39548885792289, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.90805, 29.345946, 300], |
| | | [105.056237686031, 29.33548885792289, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.80804, 29.200594, 300], |
| | | [104.906237686031, 29.20048885792289, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.579106, 29.241427, 300], |
| | | [104.486237686031, 29.19048885792289, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.3534, 29.3538, 300], |
| | | [104.456237686031, 29.39048885792289, 430] |
| | | ] |
| | | }, |
| | | { |
| | | coords: [ |
| | | [104.96, 29.08, 300], |
| | | [105.05, 29.083, 430] |
| | | ] |
| | | } |
| | | // { |
| | | // coords: [ |
| | | // [104.645471408, 29.150000, 300], |
| | | // [104.525471408, 28.960000, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.779193, 29.22148885792289, 300], |
| | | // [104.780237686031, 29.39548885792289, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.90805, 29.275946, 300], |
| | | // [105.106237686031, 29.22948885792289, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.78804, 29.130594, 300], |
| | | // [104.776237686031, 28.85048885792289, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.559106, 29.161427, 300], |
| | | // [104.356237686031, 29.00048885792289, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.3234, 29.2838, 300], |
| | | // [104.456237686031, 29.39048885792289, 430] |
| | | // ] |
| | | // }, |
| | | // { |
| | | // coords: [ |
| | | // [104.950000, 29.04, 300], |
| | | // [105.05, 28.983, 430] |
| | | // ] |
| | | // } |
| | | ], |
| | | effect: { |
| | | show: true, |
| | |
| | | coordinateSystem: 'geo3D', |
| | | symbol: 'circle', |
| | | symbolSize: 0, |
| | | data: that.data, |
| | | data: that.markData, |
| | | |
| | | itemStyle: { |
| | | opacity: 1, |
| | | borderWidth: 1, |
| | | borderColor: 'a4ddee' |
| | | borderColor: 'a4ddee', |
| | | }, |
| | | |
| | | label: { |
| | |
| | | this.updateChart(); |
| | | }, |
| | | deep: true |
| | | }, |
| | | platformData: { |
| | | handler(newValue) { |
| | | this.updateMapData(newValue); |
| | | this.updateChart(); |
| | | }, |
| | | deep: true |
| | | } |
| | | }, |
| | | } |