| | |
| | | /* |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2024-10-25 15:09:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2024-11-25 16:43:43 |
| | | * @FilePath: \bigScreen\src\hooks\initMap.js |
| | | * @Description: |
| | | * |
| | | * Copyright (c) 2024 by shuishen, All Rights Reserved. |
| | | */ |
| | | window.$viewer = null |
| | | window.$Cesium = null |
| | | window.$turf = 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' |
| | | |
| | | export function readyViewer () { |
| | | const store = useMap() |
| | | |
| | | function initMap () { |
| | | if (window.$viewer) return |
| | | |
| | | nextTick(() => { |
| | | DC.ready({ |
| | | // Cesium: Cesium, |
| | | baseUrl: `${VITE_APP_BASE}libs/dc-sdk/resources/`, |
| | | turf, |
| | | }).then(() => { |
| | | window.$Cesium = DC.getLib('Cesium') |
| | | window.$turf = DC.getLib('turf') |
| | | |
| | | window.$viewer = new DC.Viewer('viewer-container') |
| | | window.$viewer.locationBar.enable = true |
| | | |
| | | window.$viewer.zoomToPosition(new DC.Position( |
| | | 115.1021, |
| | | 27.2360, |
| | | 5000, |
| | | 0, |
| | | -45, |
| | | 0 |
| | | ), () => { |
| | | store.setLoadMap(true) |
| | | }) |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | onMounted(() => { |
| | | initMap() |
| | | }) |
| | | |
| | | onUnmounted(() => { |
| | | window.$viewer.destroy() |
| | | window.$viewer = null |
| | | window.$Cesium = null |
| | | window.$turf = null |
| | | delete window.$viewer |
| | | delete window.$Cesium |
| | | delete window.$turf |
| | | store.setLoadMap(false) |
| | | }) |
| | | |
| | | return { |
| | | |
| | | } |
| | | } |