文章目录
- 一、绘制点
-
- 二、绘制面
- 三、绘制线
- 四、移除 Entity
<!--* @Author: HuKang* @Date: 2023-08-18 11:06:43* @LastEditTime: 2023-08-25 09:16:59* @LastEditors: HuKang* @Description: program-c* @FilePath: \global-data-display\src\views\program-c\index.vue
-->
<template><div><div id="cesiumContainer"></div></div>
</template><script setup lang="ts">
import * as Cesium from "cesium";
import { Viewer } from "cesium";
import cesium from "vite-plugin-cesium";
import { getSatellitecloudApi, getGenerateGridApi } from "@/api/servies";import { onMounted } from "vue";
import TOKEN from "@/utils/Tooken";
Cesium.Ion.defaultAccessToken = TOKEN;
}
const viewer = ref();
const initViewer = () => {viewer.value = new Cesium.Viewer("cesiumContainer", {infoBox: false,});viewer.value.cesiumWidget.creditContainer.style.display = "none";viewer.value.scene.globe.depthTestAgainstTerrain = true;const imageryProvider = new Cesium.UrlTemplateImageryProvider({url: "cesium-api/map/getMap/{x}/{y}/{z}.png",credit: "mapname",tilingScheme: new Cesium.GeographicTilingScheme({ellipsoid: Cesium.Ellipsoid.WGS84,}),maximumLevel: 18,});viewer.value.scene.imageryLayers.addImageryProvider(imageryProvider);
const datasource = new Cesium.CustomDataSource("")};
onMounted(() => {initViewer();
});
</script><style scoped></style>
一、绘制点
1. 第一种
var pointentity = viewer.value.entities.add({id: "point1",position: Cesium.Cartesian3.fromDegrees(109, 34),point: {pixelSize: 10,color: Cesium.Color.YELLOW, outlineColor: Cesium.Color.RED, outlineWidth: 2, },
});
2. 第二种
const pointentity2 = new Cesium.Entity({id: "point2",position: Cesium.Cartesian3.fromDegrees(109, 34),point: {pixelSize: 10,color: Cesium.Color.YELLOW,outlineColor: Cesium.Color.RED,outlineWidth: 2,},
});
viewer.value.entites.add(pointentity2)
二、绘制面
viewer.value.entities.add({id: 'polygontest',name: 'mian',polygon: {hierarchy: Cesium.Cartesian3.fromDegreesArray([109.080842, 45.002073,105.91517, 45.002073,104.058488, 44.996596,104.053011, 43.002989,104.053011, 41.003906,105.728954, 40.998429,107.919731, 41.003906,109.04798, 40.998429,111.047063, 40.998429,111.047063, 42.000709,111.047063, 44.476286,111.05254, 45.002073,109.080842, 45.002073]),height: 100,material: Cesium.Color.RED.withAlpha(0.5),outline: true,outlineColor: Cesium.Color.BLUE,outlineWidth: 1,fill: true}
});
三、绘制线
viewer.value.entities.add({id: 'polygontest',name: 'line',polygon: {positions: Cesium.Cartesian3.fromDegreesArray([109.080842, 45.002073,105.91517, 45.002073,104.058488, 44.996596,104.053011, 43.002989,104.053011, 41.003906,105.728954, 40.998429,107.919731, 41.003906,109.04798, 40.998429,111.047063, 40.998429,111.047063, 42.000709,111.047063, 44.476286,111.05254, 45.002073,109.080842, 45.002073]),width: 2,material: Cesium.Color.YELLOW,}
});
四、移除 Entity
var tempEntity = viewer.value.entites.getById("point1");
viewer.value.entities.remove(tempEntity);
viewer.value.entities.removeById("point1");