无人机管理后台前端(已迁走)
xiebin
2025-04-29 7b2f6d5acdd8014ec3d426b59c26b8294c28b850
src/components/map-container/mapContainer.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2024-10-25 15:07:51
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2025-04-15 21:54:01
 * @LastEditTime: 2025-04-28 11:34:40
 * @FilePath: \drone-web-manage\src\components\map-container\mapContainer.vue
 * @Description: 
 * 
@@ -19,6 +19,8 @@
</template>
<script setup>
import * as turf from '@turf/turf'
import { nextTick, onMounted, onUnmounted } from 'vue'
import { read } from 'xlsx'
@@ -65,8 +67,13 @@
        credit: 'stand_tc',
    })
    window.$viewer = new DC.Viewer('viewer-container')
    window.$viewer = new DC.Viewer('viewer-container', {
        "sceneMode": 2 //1: 2.5D,2: 2D,3: 3D
    })
    window.$viewer.locationBar.enable = false
    window.$viewer?.zoomToPosition(new DC.Position(115.892151, 28.676493, 1000000, 0, -90, 0))
    window.$viewer?.imageryLayers.addImageryProvider(imageryProvider_stand)
    window.$viewer?.imageryLayers.addImageryProvider(imageryProvider_standZh)
@@ -133,15 +140,27 @@
    let polyline = new DC.Polyline(positionStr)
    polyline.setStyle({
        width: 20,
        material: new DC.PolylineLightingTrailMaterialProperty({
            color: DC.Color.BLUE,
            speed: 5.0
        width: 4,
        material: new DC.PolylineTrailMaterialProperty({
            color: DC.Color.DEEPSKYBLUE,
            speed: 10
        }),
        clampToGround: true
    })
    polylineLayer.addOverlay(polyline)
    window.$viewer?.zoomTo(polylineLayer)
    const line = turf.lineString(positionStr.split(';').map(i => i.split(',')))
    const bbox = turf.bbox(line)
    const bboxPolygon = turf.bboxPolygon(bbox)
    const scaledPolygon = turf.transformScale(bboxPolygon, 3)
    const newBbox = turf.bbox(scaledPolygon)
    window.$viewer?.flyToBounds(
        newBbox,
        { heading: 0, pitch: -90, roll: 0 },
        () => { },
        0
    )
}
onMounted(() => {