diff --git a/src/assets/images/land/底部框架.png b/src/assets/images/basic/footerBG.png similarity index 100% rename from src/assets/images/land/底部框架.png rename to src/assets/images/basic/footerBG.png diff --git a/src/assets/images/land/图层 2.png b/src/assets/images/land/countCircleBG.png similarity index 100% rename from src/assets/images/land/图层 2.png rename to src/assets/images/land/countCircleBG.png diff --git a/src/assets/images/land/组 84.png b/src/assets/images/land/countTextBG.png similarity index 100% rename from src/assets/images/land/组 84.png rename to src/assets/images/land/countTextBG.png diff --git a/src/assets/images/land/副标题 - 副本.png b/src/assets/images/land/副标题 - 副本.png deleted file mode 100644 index 0c7e113..0000000 Binary files a/src/assets/images/land/副标题 - 副本.png and /dev/null differ diff --git a/src/components/centerMap.vue b/src/components/centerMap.vue index 01ee33b..830228c 100644 --- a/src/components/centerMap.vue +++ b/src/components/centerMap.vue @@ -10,15 +10,15 @@ import { isEmpty, getAssetsFile } from '@/utils'; import { ref, reactive, onMounted } from 'vue'; import { useRoute } from 'vue-router'; - +import geoJsonData from '../components/530926geo.json'; // 根据实际情况调整路径 const route = useRoute(); var aspectScale = 0.8807505292367753; // var iconUrl = 'http://localhost:9529/sub-government-screen-service/src/assets/images/vsualized/home/partbg.png'; // var iconUrl = getAssetsFile('images/vsualized/gmmap.png').href; var iconUrl = getAssetsFile('images/vsualized/gmmap2.png').href; + const isShow = ref(false); -import geoJsonData from '../components/530926geo.json'; // 根据实际情况调整路径 let geoData = geoJsonData; let mapName = ref('ZJ' + route.name); const chartsData = reactive({ @@ -50,11 +50,12 @@ const chartsData = reactive({ geo3D: { map: mapName.value, roam: true, - zoom: 1.2, + zoom: 1, + left: '30px', show: true, zlevel: -1, // 必须设置, viewControl: { - distance: 110, + distance: 115, alpha: 60, beta: 0, minBeta: -360, @@ -97,7 +98,54 @@ const chartsData = reactive({ }, }, series: [ - // 闪烁散点图系列 + { + type: 'map3D', + map: mapName.value, + zoom: 1, + left: '30px', + viewControl: { + distance: 115, + alpha: 60, + beta: 0, + minBeta: -360, + maxBeta: 720, + // 限制视角,使不能旋转缩放平移 + // rotateSensitivity: 0, + // zoomSensitivity: 0, + // panSensitivity: 0, + }, + itemStyle: { + // 三维地理坐标系组件 中三维图形的视觉属性,包括颜色,透明度,描边等。 + color: 'rgba(75,255,180,0.2)', // 地图板块的颜色 + opacity: 1, // 图形的不透明度 [ default: 1 ] + borderWidth: 1.5, // (地图板块间的分隔线)图形描边的宽度。加上描边后可以更清晰的区分每个区域 [ default: 0 ] + borderColor: '#4bffb4', // 图形描边的颜色。[ default: #333 ] + }, + label: { + show: true, + distance: 0, + color: '#000', + padding: [6, 4, 2, 4], + borderRadius: 4, + backgroundColor: 'rgba(255,255,255,0.2)', + textStyle: { + fontSize: 12, + color: '#E87813', // 地图初始化区域字体颜色 + borderWidth: 0, + borderColor: '#000', + }, + }, + emphasis: { + //高亮状态的效果 + label: { + show: true, + color: '#fff', + }, + itemStyle: { + color: 'rgba(75,255,180,0.3)', // 地图板块的颜色 + }, + }, + }, ], }, }); @@ -106,12 +154,9 @@ const mapClick = (data) => { isShow.value = true; console.info('mapClick', data); }; - -const infoHide = () => { - isShow.value = false; -}; - -onMounted(() => {}); +onMounted(() => { + console.info('iconUrl', iconUrl); +}); diff --git a/src/components/custom-scroll-title/index.vue b/src/components/custom-scroll-title/index.vue index 13accac..6472b01 100644 --- a/src/components/custom-scroll-title/index.vue +++ b/src/components/custom-scroll-title/index.vue @@ -38,6 +38,7 @@ import { useRouter } from 'vue-router'; const router = useRouter(); onMounted(() => { handleWidth(); + activeTitle.value = router.currentRoute.value.name; }); // const emit = defineEmits(['changeTitle']); const props = defineProps({ @@ -91,12 +92,14 @@ watch( ); function handleWidth() { let ld = document.querySelector('.left_titles_container'); - let w = ld.clientWidth; - itemW.value = (w - 2 * gap.value) / 3; - titleContentW.value = itemW.value * leftTitles.value.length + leftTitles.value.length * gap.value; - if (props.titles.length > 3 && props.titles.length < 6) { - let l = 3 - (props.titles.length - 3); - right.value = l * itemW.value + (l - 1) * gap.value; + if (ld) { + let w = ld.clientWidth; + itemW.value = (w - 2 * gap.value) / 3; + titleContentW.value = itemW.value * leftTitles.value.length + leftTitles.value.length * gap.value; + if (props.titles.length > 3 && props.titles.length < 6) { + let l = 3 - (props.titles.length - 3); + right.value = l * itemW.value + (l - 1) * gap.value; + } } } function handleTitleBtn(t = -1) { @@ -165,7 +168,7 @@ function handleTitleClick(val) { width: 30%; height: 100%; overflow: hidden; - line-height: 60px; + line-height: 90px; .title_content { position: absolute; top: 10px; diff --git a/src/components/subTop.vue b/src/components/subTop.vue index 8a4707e..715becb 100644 --- a/src/components/subTop.vue +++ b/src/components/subTop.vue @@ -7,7 +7,7 @@ }" class="title-top-bg" > - {{ topTitle || '--' }} + {{ topTitle || '--' }} + + diff --git a/src/views/land/index.vue b/src/views/land/index.vue index 33dc092..4182329 100644 --- a/src/views/land/index.vue +++ b/src/views/land/index.vue @@ -1,5 +1,5 @@