Commit 2a677cc3 by jlc

update:椭圆案例代码结构的修改

parent 2133ddd6
export function addCirclesAndEllipses() { export function addCirclesAndEllipses(viewer) {
const script = document.createElement('script'); const czml = [
script.src = 'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js'; {
script.onload = () => { id: "document",
window.Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE' name: "CZML Geometries: Circles and Ellipses",
version: "1.0",
const viewer = new window.Cesium.Viewer('cesiumContainer', { },
infoBox: false, {
}); id: "shape1",
name: "Green circle at height",
const czml = [ position: {
{ cartographicDegrees: [-111.0, 40.0, 150000.0],
id: "document", },
name: "CZML Geometries: Circles and Ellipses", ellipse: {
version: "1.0", semiMinorAxis: 300000.0,
}, semiMajorAxis: 300000.0,
{ height: 200000.0,
id: "shape1", material: {
name: "Green circle at height", solidColor: {
position: { color: {
cartographicDegrees: [-111.0, 40.0, 150000.0], rgba: [0, 255, 0, 255],
},
ellipse: {
semiMinorAxis: 300000.0,
semiMajorAxis: 300000.0,
height: 200000.0,
material: {
solidColor: {
color: {
rgba: [0, 255, 0, 255],
},
},
}, },
}, },
}, },
{ },
id: "shape2", },
name: "Red ellipse with white outline on surface", {
position: { id: "shape2",
cartographicDegrees: [-103.0, 40.0, 0], name: "Red ellipse with white outline on surface",
}, position: {
ellipse: { cartographicDegrees: [-103.0, 40.0, 0],
semiMinorAxis: 250000.0, },
semiMajorAxis: 400000.0, ellipse: {
height: 0, semiMinorAxis: 250000.0,
material: { semiMajorAxis: 400000.0,
solidColor: { height: 0,
color: { material: {
rgba: [255, 0, 0, 127], solidColor: {
}, color: {
}, rgba: [255, 0, 0, 127],
},
outline: true, // height must be set for outlines to display
outlineColor: {
rgba: [255, 255, 255, 255],
}, },
}, },
}, },
{ outline: true, // height must be set for outlines to display
id: "shape3", outlineColor: {
name: rgba: [255, 255, 255, 255],
"Blue translucent, rotated, and extruded ellipse with outline", },
position: { },
cartographicDegrees: [-95.0, 40.0, 100000.0], },
}, {
ellipse: { id: "shape3",
semiMinorAxis: 150000.0, name:
semiMajorAxis: 300000.0, "Blue translucent, rotated, and extruded ellipse with outline",
extrudedHeight: 200000.0, position: {
rotation: 0.78539, cartographicDegrees: [-95.0, 40.0, 100000.0],
material: { },
solidColor: { ellipse: {
color: { semiMinorAxis: 150000.0,
rgba: [0, 0, 255, 127], semiMajorAxis: 300000.0,
}, extrudedHeight: 200000.0,
}, rotation: 0.78539,
material: {
solidColor: {
color: {
rgba: [0, 0, 255, 127],
}, },
outline: true,
}, },
}, },
]; outline: true,
},
const dataSourcePromise = Cesium.CzmlDataSource.load(czml); },
viewer.dataSources.add(dataSourcePromise); ];
viewer.zoomTo(dataSourcePromise);
}; const dataSourcePromise = Cesium.CzmlDataSource.load(czml);
document.head.appendChild(script); viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css';
document.head.appendChild(link);
} }
<template> <template>
<div id="cesiumContainer" class="cesium-container"></div> <div id="cesiumContainer" class="cesium-container"></div>
</template> </template>
<script setup> <script setup>
import { onMounted } from 'vue'; import { onMounted } from 'vue';
import { addCirclesAndEllipses } from './function'; import { addCirclesAndEllipses } from './function';
let viewer;
onMounted(() => { onMounted(() => {
addCirclesAndEllipses() const script = document.createElement('script');
script.src = 'https://cesium.com/downloads/cesiumjs/releases/1.99/Build/Cesium/Cesium.js';
script.onload = () => {
window.Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3Njg4ZWU5Yi1iZDhiLTRhYmUtOTRiYS04YjM5NmUwNjVmMDMiLCJpZCI6MjI3MzQ3LCJpYXQiOjE3MjA1MjA4Mjh9.E5XW4LnwgfVAaBC-znaYr61m4yK0-j2qEQhi9qwFFPE'
viewer = new window.Cesium.Viewer('cesiumContainer', {
infoBox: false,
});
addCirclesAndEllipses(viewer)
};
document.head.appendChild(script);
const link = document.createElement('link');
link.rel = 'stylesheet';
link.href = 'https://cesium.com/downloads/cesiumjs/releases/1.119/Build/Cesium/Widgets/widgets.css';
document.head.appendChild(link);
}); });
</script> </script>
<style> <style>
.cesium-container { .cesium-container {
width: 100%; width: 100%;
height: 100vh; height: 100vh;
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment