From 1ee14c09d0203569f8ab83194bcb9fedcf267415 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 28 Mar 2025 18:54:17 +0800
Subject: [PATCH] feat: 全屏功能
---
package.json | 2 +-
src/views/Home/components/HomeRight/UserOperate.vue | 6 ++++--
src/views/Home/Home.vue | 39 ++++++++++++++++++++++++++++++++++-----
3 files changed, 39 insertions(+), 8 deletions(-)
diff --git a/package.json b/package.json
index 723c11c..6c8dc10 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"scripts": {
"dev": "vite --host",
"prod": "vite --mode production",
- "build": "vite build",
+ "build:dev": "vite build --mode development",
"build:prod": "vite build --mode production",
"serve": "vite preview --host"
},
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index c7e3e76..f756399 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -8,13 +8,13 @@
<script setup>
import HomeRight from './components/HomeRight/HomeRight.vue';
import HomeLeft from '@/views/Home/components/HomeLeft/HomeLeft.vue';
-import { getAggregation } from '@/views/Home/aggregation';
import SearchBox from '@/views/Home/SearchBox.vue';
import jiangxi from '@/assets/geojson/jiangxi.json';
-import nanchang from '@/assets/geojson/nanchang.json';
import jiangxishi from '@/assets/geojson/jiangxishi.json';
import zg from '@/assets/geojson/zg.json';
import * as Cesium from 'cesium';
+import data1 from '@/assets/images/home/homeRight/data1.png';
+import data2 from '@/assets/images/home/homeRight/data2.png';
const list = [
{ name: '县', value: [0,48651], gJson: null },
@@ -33,7 +33,6 @@
const determineScaling = () => {
let height = viewer.camera.positionCartographic.height;
- console.log('缩放结束,高度为:', height);
// 根据高度展示对应的 gJson
for (let item of list) {
// if (height < item.value) {
@@ -44,6 +43,31 @@
active.value = item.name;
if (item.gJson) {
aggregation(item);
+ }else{
+ for (let i = 0; i < 50; i++) {
+ viewer.entities.add({
+ position: Cesium.Cartesian3.fromDegrees(
+ 115.89 + Math.random() * 0.2,
+ 28.68 + Math.random() * 0.2
+ ),
+ label: {
+ // 随机整数
+ text: Math.floor(Math.random() * 100)+'号机巢',
+ font: '14pt monospace',
+ fillColor: Cesium.Color.WHITE,
+ outlineColor: Cesium.Color.BLACK,
+ outlineWidth: 2,
+ style: Cesium.LabelStyle.FILL_AND_OUTLINE,
+ verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
+ pixelOffset: new Cesium.Cartesian2(0, -9),
+ },
+ billboard: {
+ image: data1,
+ width: 24,
+ height: 24,
+ },
+ });
+ }
}
}
break;
@@ -73,6 +97,11 @@
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
pixelOffset: new Cesium.Cartesian2(0, -9),
},
+ billboard: {
+ image: data2,
+ width: 24,
+ height: 24,
+ },
});
});
// 加载新的 GeoJSON 数据
@@ -85,8 +114,8 @@
entity.polygon.material = new Cesium.ColorMaterialProperty(
Cesium.Color.YELLOW.withAlpha(0) // 透明填充
);
- entity.polygon.outline = true; // 显示边框
- entity.polygon.outlineColor = Cesium.Color.YELLOW; // 黑色边框
+ entity.polygon.outline = new Cesium.ConstantProperty(true); // 显示边框
+ entity.polygon.outlineColor = new Cesium.ConstantProperty(Cesium.Color.YELLOW); // 黑色边框
});
});
};
diff --git a/src/views/Home/components/HomeRight/UserOperate.vue b/src/views/Home/components/HomeRight/UserOperate.vue
index 6e11799..8c37709 100644
--- a/src/views/Home/components/HomeRight/UserOperate.vue
+++ b/src/views/Home/components/HomeRight/UserOperate.vue
@@ -1,10 +1,12 @@
-<script setup></script>
+<script setup>
+import { fullscreenToggel } from '@/utils/util';
+</script>
<template>
<div class="userOperate">
<img alt="" src="@/assets/images/home/homeRight/operate1.png" />
<img alt="" src="@/assets/images/home/homeRight/operate2.png" />
- <img alt="" src="@/assets/images/home/homeRight/operate3.png" />
+ <img alt="" src="@/assets/images/home/homeRight/operate3.png" @click="fullscreenToggel"/>
</div>
</template>
--
Gitblit v1.9.3