|
|
|
@ -2,7 +2,7 @@
|
|
|
|
|
* @Author: cbwu 504-wuchengbo@htsdfp.com
|
|
|
|
|
* @Date: 2024-03-07 14:15:35
|
|
|
|
|
* @LastEditors: cbwu
|
|
|
|
|
* @LastEditTime: 2024-04-10 13:59:42
|
|
|
|
|
* @LastEditTime: 2024-04-10 16:30:23
|
|
|
|
|
* @Description:
|
|
|
|
|
-->
|
|
|
|
|
<template>
|
|
|
|
@ -11,7 +11,7 @@
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { onMounted, ref } from 'vue'
|
|
|
|
|
import { Viewer, Ion, Cartesian3 } from 'cesium'
|
|
|
|
|
import { Viewer, Ion, Cartesian3, CustomDataSource, Color } from 'cesium'
|
|
|
|
|
import 'cesium/Build/Cesium/Widgets/widgets.css'
|
|
|
|
|
import {
|
|
|
|
|
TDTLayerType,
|
|
|
|
@ -22,6 +22,7 @@ import {
|
|
|
|
|
import { initViewer, perfViewer, showNavigator } from '@/utils/map/sceneViewer'
|
|
|
|
|
import { flyToChina } from '@/utils/map/camera'
|
|
|
|
|
import CreatePolyline from '@/utils/map/draw/drawPolyline'
|
|
|
|
|
import DrawPoint from '@/utils/map/draw/drawPoint'
|
|
|
|
|
const viewerDivRef = ref<HTMLDivElement>()
|
|
|
|
|
let viewer: Viewer
|
|
|
|
|
window.CESIUM_BASE_URL = 'node_modules/cesium/Build/Cesium/'
|
|
|
|
@ -38,7 +39,7 @@ Ion.defaultAccessToken =
|
|
|
|
|
// 60.0, // 北纬
|
|
|
|
|
// )
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
onMounted(async () => {
|
|
|
|
|
//初始化
|
|
|
|
|
viewer = initViewer(viewerDivRef.value as HTMLElement)
|
|
|
|
|
// 性能优化
|
|
|
|
@ -58,6 +59,9 @@ onMounted(() => {
|
|
|
|
|
)
|
|
|
|
|
// 添加三维地形服务
|
|
|
|
|
viewer.terrainProvider = getTDTTerrainProvider()
|
|
|
|
|
// 标记点图层,存储所有地标点
|
|
|
|
|
const markerLayer = new CustomDataSource('Marker')
|
|
|
|
|
await viewer.dataSources.add(markerLayer)
|
|
|
|
|
|
|
|
|
|
// 挂载在window,供全局组件共享
|
|
|
|
|
window.viewer = viewer
|
|
|
|
|