| | |
| | | <div class="layerContainer"> |
| | | <!-- 地图 --> |
| | | <div id="layMap" class="ztzf-cesium"></div> |
| | | <div class="draw-control"> |
| | | <!-- <div class="draw-control"> |
| | | <div @click="startDraw">开始绘制多边形</div> |
| | | </div> |
| | | </div> --> |
| | | <leftList></leftList> |
| | | |
| | | </div> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import RightEdit from '@/views/layerManagement/components/rightEdit.vue' |
| | | import leftList from '@/views/layerManagement/components/leftList.vue' |
| | | import { DrawPolygon } from '@/views/layerManagement/components/utils'; |
| | | import * as Cesium from 'cesium'; |
| | | import { PublicCesium } from '@/utils/cesium/publicCesium'; |
| | |
| | | |
| | | viewer = publicCesiumInstance.getViewer(); |
| | | viewInstance.value = publicCesiumInstance; |
| | | |
| | | drawPolygonExample.initHandler(viewer); |
| | | }; |
| | | |
| | | // 开启绘制模式(按钮点击触发) |
| | | const startDraw = () => { |
| | | // 清除之前的绘制内容,重新开启绘制 |
| | | drawPolygonExample.removeEntities(); |
| | | drawPolygonExample.startDrawing(); |
| | | }; |
| | | // // 开启绘制模式(按钮点击触发) |
| | | // const startDraw = () => { |
| | | // // 清除之前的绘制内容,重新开启绘制 |
| | | // drawPolygonExample.removeEntities(); |
| | | // drawPolygonExample.startDrawing(); |
| | | // }; |
| | | |
| | | // 处理绘制完成后的多边形坐标(示例) |
| | | const loadPlanarRoute = async (positions = null, save = false) => { |
| | |
| | | } |
| | | publicCesiumInstance = null; |
| | | }; |
| | | |
| | | // 阻止浏览器默认 |
| | | const preventDefault = event => { |
| | | event.preventDefault() |
| | | return |
| | | } |
| | | const cesiumContextMenu = (isAdd = true) => { |
| | | let cesium = document.getElementById('layMap') |
| | | if (!cesium) return |
| | | if (isAdd) { |
| | | cesium.addEventListener('contextmenu', preventDefault) |
| | | } else { |
| | | cesium.removeEventListener('contextmenu', preventDefault) |
| | | } |
| | | } |
| | | onMounted(() => { |
| | | initMap(); |
| | | cesiumContextMenu() |
| | | }); |
| | | |
| | | onBeforeUnmount(() => { |
| | | destroyMap(); |
| | | cesiumContextMenu(false) |
| | | }); |
| | | </script> |
| | | |
| | |
| | | .layerContainer { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 100vh; |
| | | height: 90vh; |
| | | #layMap { |
| | | width: 100%; |
| | | height: 100%; |