Commit 80c534dc by jlc

update:多颜色线案例代码结构的修改

parent c47e4eab
export function addMultiLine() {
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'
const viewer = new window.Cesium.Viewer('cesiumContainer', {
infoBox: false,
});
const czml = [
{
id: "document",
name: "CZML Geometries: Polyline",
version: "1.0",
},
{
id: "redLine",
name: "Red line clamped to terain",
polyline: {
positions: {
cartographicDegrees: [-75, 35, 0, -125, 35, 0],
},
material: {
solidColor: {
color: {
rgba: [255, 0, 0, 255],
},
},
},
width: 5,
clampToGround: true,
export function addMultiLine(viewer) {
const czml = [
{
id: "document",
name: "CZML Geometries: Polyline",
version: "1.0",
},
{
id: "redLine",
name: "Red line clamped to terain",
polyline: {
positions: {
cartographicDegrees: [-75, 35, 0, -125, 35, 0],
},
material: {
solidColor: {
color: {
rgba: [255, 0, 0, 255],
},
},
{
id: "blueLine",
name: "Glowing blue line on the surface",
polyline: {
positions: {
cartographicDegrees: [-75, 37, 0, -125, 37, 0],
},
material: {
polylineGlow: {
color: {
rgba: [100, 149, 237, 255],
},
glowPower: 0.2,
taperPower: 0.5,
},
},
width: 10,
},
width: 5,
clampToGround: true,
},
},
{
id: "blueLine",
name: "Glowing blue line on the surface",
polyline: {
positions: {
cartographicDegrees: [-75, 37, 0, -125, 37, 0],
},
material: {
polylineGlow: {
color: {
rgba: [100, 149, 237, 255],
},
glowPower: 0.2,
taperPower: 0.5,
},
{
id: "orangeLine",
name:
"Orange line with black outline at height and following the surface",
polyline: {
positions: {
cartographicDegrees: [-75, 39, 250000, -125, 39, 250000],
},
material: {
polylineOutline: {
color: {
rgba: [255, 165, 0, 255],
},
outlineColor: {
rgba: [0, 0, 0, 255],
},
outlineWidth: 2,
},
},
width: 5,
},
width: 10,
},
},
{
id: "orangeLine",
name:
"Orange line with black outline at height and following the surface",
polyline: {
positions: {
cartographicDegrees: [-75, 39, 250000, -125, 39, 250000],
},
material: {
polylineOutline: {
color: {
rgba: [255, 165, 0, 255],
},
outlineColor: {
rgba: [0, 0, 0, 255],
},
outlineWidth: 2,
},
{
id: "dashedLine",
name: "Blue dashed line",
polyline: {
positions: {
cartographicDegrees: [-75, 45, 500000, -125, 45, 500000],
},
material: {
polylineDash: {
color: {
rgba: [0, 255, 255, 255],
},
},
},
width: 4,
},
width: 5,
},
},
{
id: "dashedLine",
name: "Blue dashed line",
polyline: {
positions: {
cartographicDegrees: [-75, 45, 500000, -125, 45, 500000],
},
material: {
polylineDash: {
color: {
rgba: [0, 255, 255, 255],
},
},
];
const dataSourcePromise = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);
};
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);
},
width: 4,
},
},
];
const dataSourcePromise = Cesium.CzmlDataSource.load(czml);
viewer.dataSources.add(dataSourcePromise);
viewer.zoomTo(dataSourcePromise);
}
<template>
<div id="cesiumContainer" class="cesium-container"></div>
</template>
<script setup>
import { onMounted } from 'vue';
import { addMultiLine } from './function';
let viewer;
onMounted(() => {
addMultiLine()
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,
});
addMultiLine(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>
<style>
.cesium-container {
width: 100%;
height: 100vh;
width: 100%;
height: 100vh;
}
</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