From 0c24112327778616cd4e5ce2d98a6a4f9afa9782 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 07 Apr 2025 15:34:03 +0800
Subject: [PATCH] feat: 历史任务里面地图

---
 /dev/null                                                                                                     |    2 
 src/utils/cesium-tsa.js                                                                                       |   12 --
 src/main.js                                                                                                   |    7 +
 src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue    |   31 ++++---
 package.json                                                                                                  |    1 
 .env                                                                                                          |    4 +
 src/axios.js                                                                                                  |    2 
 src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue |   97 ++++++++++++++++++++++++
 pnpm-lock.yaml                                                                                                |   70 +++++++++++++++++
 9 files changed, 197 insertions(+), 29 deletions(-)

diff --git a/.env b/.env
index 2cadb46..ef69cd4 100644
--- a/.env
+++ b/.env
@@ -5,3 +5,7 @@
 
 #页面基础路径
 VITE_APP_BASE = /command-center-dashboard/
+#天地图token
+VITE_APP_TDT_TOKEN = c6eea7dad4fa1e2d1e32ec0e7c9735db
+#cesium token
+VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M
diff --git a/package.json b/package.json
index 78a4ec4..d3533be 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
     "js-base64": "^3.7.4",
     "js-cookie": "^3.0.0",
     "js-md5": "^0.7.3",
+    "jszip": "^3.10.1",
     "lodash": "^4.17.21",
     "nprogress": "^0.2.0",
     "postcss-pxtorem": "^6.1.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 812478d..8d0290d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -68,6 +68,9 @@
       js-md5:
         specifier: ^0.7.3
         version: 0.7.3
+      jszip:
+        specifier: ^3.10.1
+        version: 3.10.1
       lodash:
         specifier: ^4.17.21
         version: 4.17.21
@@ -1346,6 +1349,9 @@
     resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
     engines: {node: '>=0.10.0'}
 
+  core-util-is@1.0.3:
+    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
   cors@2.8.5:
     resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
     engines: {node: '>= 0.10'}
@@ -1817,6 +1823,9 @@
     engines: {node: '>=0.10.0'}
     hasBin: true
 
+  immediate@3.0.6:
+    resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
+
   immer@9.0.21:
     resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
 
@@ -2023,6 +2032,9 @@
   jsonfile@6.1.0:
     resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
 
+  jszip@3.10.1:
+    resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
+
   kdbush@4.0.2:
     resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==}
 
@@ -2047,6 +2059,9 @@
 
   lerc@2.0.0:
     resolution: {integrity: sha512-7qo1Mq8ZNmaR4USHHm615nEW2lPeeWJ3bTyoqFbd35DLx0LUH7C6ptt5FDCTAlbIzs3+WKrk5SkJvw8AFDE2hg==}
+
+  lie@3.3.0:
+    resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
 
   loader-utils@1.4.2:
     resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
@@ -2256,6 +2271,9 @@
     resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
     engines: {node: '>= 0.4'}
 
+  pako@1.0.11:
+    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+
   pako@2.1.0:
     resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==}
 
@@ -2350,6 +2368,9 @@
     resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
     engines: {node: '>=6'}
 
+  process-nextick-args@2.0.1:
+    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
   protobufjs@7.4.0:
     resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==}
     engines: {node: '>=12.0.0'}
@@ -2378,6 +2399,9 @@
 
   rbush@3.0.1:
     resolution: {integrity: sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==}
+
+  readable-stream@2.3.8:
+    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
 
   readable-stream@3.6.2:
     resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
@@ -2443,6 +2467,9 @@
     resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
     engines: {node: '>=0.4'}
 
+  safe-buffer@5.1.2:
+    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
   safe-buffer@5.2.1:
     resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
 
@@ -2489,6 +2516,9 @@
   set-value@2.0.1:
     resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
     engines: {node: '>=0.10.0'}
+
+  setimmediate@1.0.5:
+    resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
 
   side-channel-list@1.0.0:
     resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -2602,6 +2632,9 @@
   string.prototype.trimstart@1.0.8:
     resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
     engines: {node: '>= 0.4'}
+
+  string_decoder@1.1.1:
+    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
 
   string_decoder@1.3.0:
     resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
@@ -4549,6 +4582,8 @@
 
   copy-descriptor@0.1.1: {}
 
+  core-util-is@1.0.3: {}
+
   cors@2.8.5:
     dependencies:
       object-assign: 4.1.1
@@ -5154,6 +5189,8 @@
 
   image-size@0.5.5: {}
 
+  immediate@3.0.6: {}
+
   immer@9.0.21: {}
 
   immutable@5.1.1: {}
@@ -5350,6 +5387,13 @@
     optionalDependencies:
       graceful-fs: 4.2.11
 
+  jszip@3.10.1:
+    dependencies:
+      lie: 3.3.0
+      pako: 1.0.11
+      readable-stream: 2.3.8
+      setimmediate: 1.0.5
+
   kdbush@4.0.2: {}
 
   kind-of@3.2.2:
@@ -5367,6 +5411,10 @@
   ktx-parse@1.0.0: {}
 
   lerc@2.0.0: {}
+
+  lie@3.3.0:
+    dependencies:
+      immediate: 3.0.6
 
   loader-utils@1.4.2:
     dependencies:
@@ -5586,6 +5634,8 @@
       object-keys: 1.1.1
       safe-push-apply: 1.0.0
 
+  pako@1.0.11: {}
+
   pako@2.1.0: {}
 
   pascalcase@0.1.1: {}
@@ -5671,6 +5721,8 @@
 
   prismjs@1.30.0: {}
 
+  process-nextick-args@2.0.1: {}
+
   protobufjs@7.4.0:
     dependencies:
       '@protobufjs/aspromise': 1.1.2
@@ -5708,6 +5760,16 @@
   rbush@3.0.1:
     dependencies:
       quickselect: 2.0.0
+
+  readable-stream@2.3.8:
+    dependencies:
+      core-util-is: 1.0.3
+      inherits: 2.0.4
+      isarray: 1.0.0
+      process-nextick-args: 2.0.1
+      safe-buffer: 5.1.2
+      string_decoder: 1.1.1
+      util-deprecate: 1.0.2
 
   readable-stream@3.6.2:
     dependencies:
@@ -5798,6 +5860,8 @@
       has-symbols: 1.1.0
       isarray: 2.0.5
 
+  safe-buffer@5.1.2: {}
+
   safe-buffer@5.2.1: {}
 
   safe-push-apply@1.0.0:
@@ -5861,6 +5925,8 @@
       is-extendable: 0.1.1
       is-plain-object: 2.0.4
       split-string: 3.1.0
+
+  setimmediate@1.0.5: {}
 
   side-channel-list@1.0.0:
     dependencies:
@@ -5999,6 +6065,10 @@
       define-properties: 1.2.1
       es-object-atoms: 1.1.1
 
+  string_decoder@1.1.1:
+    dependencies:
+      safe-buffer: 5.1.2
+
   string_decoder@1.3.0:
     dependencies:
       safe-buffer: 5.2.1
diff --git a/src/axios.js b/src/axios.js
index 0e56d22..fa418ca 100644
--- a/src/axios.js
+++ b/src/axios.js
@@ -16,9 +16,9 @@
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
 import { Base64 } from 'js-base64'
-import { baseUrl } from '@/config/env'
 import crypto from '@/utils/crypto'
 
+let baseUrl = import.meta.env.VITE_APP_API
 // 全局未授权错误提示状态,只提示一次
 let isErrorShown = false
 // 全局锁机制相关变量
diff --git a/src/config/env.js b/src/config/env.js
deleted file mode 100644
index d376ebf..0000000
--- a/src/config/env.js
+++ /dev/null
@@ -1,2 +0,0 @@
-let baseUrl = import.meta.env.VITE_APP_API
-export { baseUrl }
diff --git a/src/main.js b/src/main.js
index 95595f8..b724fc4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -19,6 +19,8 @@
 import 'animate.css'
 import dayjs from 'dayjs'
 import 'styles/common.scss'
+import * as Cesium from 'cesium'
+
 // 系统组件
 import debug from './debug'
 import VueClipboard from 'vue3-clipboard'
@@ -44,6 +46,11 @@
 window.$crudCommon = crudCommon
 debug()
 window.axios = axios
+
+const { VITE_APP_BASE,VITE_APP_CESIUM_TOKEN } = import.meta.env
+window.CESIUM_BASE_URL = `${VITE_APP_BASE}cesiumPu`
+Cesium.Ion.defaultAccessToken = VITE_APP_CESIUM_TOKEN
+
 const app = createApp(App)
 for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
 	app.component(key, component)
diff --git a/src/utils/cesium-tsa.js b/src/utils/cesium-tsa.js
index 773e6f4..c8bc0dd 100644
--- a/src/utils/cesium-tsa.js
+++ b/src/utils/cesium-tsa.js
@@ -3,10 +3,6 @@
 import store from '@/store'
 import { Terrain } from 'cesium'
 
-// vite env
-const { VITE_APP_BASE } = import.meta.env
-
-window.CESIUM_BASE_URL = `${VITE_APP_BASE}cesiumPu`
 // 定义全局的viewer变量防止重复生成
 let viewer = null
 let globalBaseMapLayers = []
@@ -20,9 +16,9 @@
 let handlerEvents = {
   handler: null,
 }
+let TDT_Token = import.meta.env.VITE_APP_TDT_TOKEN
 
 export default function cesiumOperation () {
-  const TDT_Token = 'c6eea7dad4fa1e2d1e32ec0e7c9735db'
   // 天地图地图
   const TDT_IMG_C =
     'https://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0' +
@@ -154,13 +150,7 @@
     tilingScheme: new AmapMercatorTilingScheme(),
     minimumLevel: 3,
   })
-
-  Cesium.Ion.defaultAccessToken =
-    'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkMzg4MDk5YS05MWEzLTQ3NTYtOTYzNS04Yzk4MjU2MjI5N2YiLCJpZCI6MjE3OTM4LCJpYXQiOjE3MTY3NzIzOTR9.q1rzR7SRtIulQKTtJuv5HPUbp1av5E9RaOe-6voPDGc'
   const _init = async id => {
-    const cesiumToken =
-      'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M'
-    Cesium.Ion.defaultAccessToken = cesiumToken
     Cesium.Camera.DEFAULT_VIEW_FACTOR = -0.45
     // 西南东北,默认显示中国
     Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(66, 4, 135, 53.55)
diff --git a/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
index 5bac13d..0f82965 100644
--- a/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
+++ b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetails.vue
@@ -33,7 +33,7 @@
 					/>
 				</div>
 			</div>
-			<div class="contentRight">map</div>
+			<DeviceJobDetailsMap class="contentRight" :detailsData="detailsData"/>
 		</div>
 	</el-dialog>
 </template>
@@ -42,6 +42,7 @@
 import { pxToRem } from '@/utils/rem'
 import JobRelatedEvents from './JobRelatedEvents.vue'
 import { getJobDetails, getJobInfoFiles } from '@/api/home/task'
+import DeviceJobDetailsMap from './DeviceJobDetailsMap.vue'
 
 const isShow = defineModel('show')
 
@@ -59,19 +60,19 @@
 ])
 
 const detailsData = ref({
-	id: 19,
-	remark: '测试测试',
-	is_monitoring: 0,
-	industry_type_str: '综合类、公安类',
-	area_code: '360103',
-	ai_type_str: '识别火情、车牌识别',
-	begin_time: '2025/04/02 16:00',
-	end_time: '2025/04/01 15:59',
-	device_names: '赣县-夏潭机场',
-	create_time: '2025-04-01T07:35:19.000+00:00',
-	name: '夏弹机场测试',
-	event_number: 2,
-	creator_name: '管理员',
+	id: null,
+	remark: null,
+	is_monitoring: null,
+	industry_type_str: null,
+	area_code: null,
+	ai_type_str: null,
+	begin_time: null,
+	end_time: null,
+	device_names: null,
+	create_time: null,
+	name: null,
+	event_number: null,
+	creator_name: null,
 	way_lines: [],
 })
 
@@ -95,8 +96,8 @@
 
 watch(isShow, (newValue, oldValue) => {
 	if (newValue) {
-		getAchievement()
 		getDetails()
+		getAchievement()
 	}
 })
 </script>
diff --git a/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue
new file mode 100644
index 0000000..02079ac
--- /dev/null
+++ b/src/views/SignMachineNest/MachineRight/MachineTableDetails/DeviceJob/DeviceJobDetails/DeviceJobDetailsMap.vue
@@ -0,0 +1,97 @@
+<template>
+	<div id="deviceJobDetailsMap" />
+</template>
+<script setup>
+import { Terrain, Viewer } from 'cesium'
+import * as Cesium from 'cesium'
+import AmapMercatorTilingScheme from '@/utils/cesium/AmapMercatorTilingScheme'
+import { analyzeKmzFile, XMLToJSON } from '@/utils/cesium/kmz'
+
+const props = defineProps(['detailsData'])
+
+
+const imageryProvider_ammapSL = new Cesium.UrlTemplateImageryProvider({
+	url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
+	layer: 'tdtVecBasicLayer',
+	style: 'default',
+	format: 'image/png',
+	tileMatrixSetID: 'GoogleMapsCompatible',
+	subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+	maximumLevel: 18,
+	tilingScheme: new AmapMercatorTilingScheme(),
+	credit: 'amap_SL',
+})
+
+const init = () => {
+	const viewer = new Viewer('deviceJobDetailsMap', {
+		terrain: Terrain.fromWorldTerrain(),
+		infoBox: false, // 禁用沙箱,解决控制台报错
+		animation: false, // 左下角的动画仪表盘
+		baseLayerPicker: false, // 右上角的图层选择按钮
+		geocoder: false, // 搜索框
+		homeButton: false, // home按钮
+		sceneModePicker: false, // 模式切换按钮
+		timeline: false, // 底部的时间轴
+		navigationHelpButton: false, // 右上角的帮助按钮,
+		selectionIndicator: false, // 是否显示选择指示器
+		baseLayer: false,
+		fullscreenButton: false,
+		sceneMode: Cesium.SceneMode.COLUMBUS_VIEW,
+	})
+	viewer.imageryLayers.addImageryProvider(imageryProvider_ammapSL)
+	// viewer.scene.morphTo2D(0)
+}
+
+const drawLine = () => {
+	props.detailsData.way_lines.forEach(item => {
+		analyzeKmzFile(`${item.url}?_t=${new Date().getTime()}`).then(async res => {
+			const templateXML = await res.fileInfoObj['wpmz/template.kml']
+			const templateXMLJSON = XMLToJSON(templateXML)?.['Document']
+			console.log(templateXMLJSON,66969969)
+		})
+	})
+}
+
+watch(() => props.detailsData, (newValue, oldValue) => {
+	if(newValue){
+		drawLine()
+	}
+})
+
+onMounted(() => {
+	nextTick(() => {
+		init()
+	})
+})
+</script>
+<style scoped lang="scss">
+#deviceJobDetailsMap {
+	height: 100%;
+
+	:deep() {
+		.cesium-viewer {
+			height: 100%;
+			overflow: hidden;
+
+			.cesium-viewer-cesiumWidgetContainer {
+				width: 100%;
+				height: 100%;
+
+				.cesium-widget {
+					width: 100%;
+					height: 100%;
+
+					canvas {
+						width: 100%;
+						height: 100%;
+					}
+				}
+			}
+		}
+
+		.cesium-viewer-bottom {
+			display: none;
+		}
+	}
+}
+</style>

--
Gitblit v1.9.3