| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2024-10-25 15:09:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2024-11-13 16:37:17 |
| | | * @LastEditTime: 2024-11-22 14:54:14 |
| | | * @FilePath: \bigScreen\src\hooks\initMap.js |
| | | * @Description: |
| | | * |
| | | * Copyright (c) 2024 by shuishen, All Rights Reserved. |
| | | */ |
| | | let viewer = null |
| | | window.$viewer = null |
| | | const { VITE_APP_BASE } = import.meta.env |
| | | import { useMap } from 'store/map' |
| | | import { nextTick, onMounted, onUnmounted } from 'vue' |
| | | import * as turf from '@turf/turf' |
| | | import * as Cesium from 'cesium' |
| | | import 'cesium/Build/Cesium/Widgets/widgets.css' |
| | | // import * as Cesium from 'cesium' |
| | | // import 'cesium/Build/Cesium/Widgets/widgets.css' |
| | | |
| | | export function readyViewer () { |
| | | const store = useMap() |
| | | |
| | | function initMap () { |
| | | if (viewer) return |
| | | if (window.$viewer) return |
| | | |
| | | nextTick(() => { |
| | | DC.ready({ |
| | |
| | | turf, |
| | | }).then(() => { |
| | | |
| | | viewer = new DC.Viewer('viewer-container') |
| | | viewer.locationBar.enable = true |
| | | window.$viewer = viewer |
| | | window.$viewer = new DC.Viewer('viewer-container') |
| | | window.$viewer.locationBar.enable = true |
| | | |
| | | window.$viewer.zoomToPosition(new DC.Position( |
| | | 115.1048036679409, |
| | |
| | | }) |
| | | |
| | | onUnmounted(() => { |
| | | viewer.destroy() |
| | | viewer = null |
| | | window.$viewer.destroy() |
| | | window.$viewer = null |
| | | delete window.$viewer |
| | | store.setLoadMap(false) |
| | | }) |