一个可点击选择位置的以创建多边形的entities,并且对这个entities进行面积的计算。
提供Cesium的网址,以作参考:https://cesiumjs.org/
具体如图:

下面是script部分的代码,细节有注释,html部分的自己发挥,viewer本文是在全局引入,根据自己情况设置
<script>
export default {
name: "test",
data() {
return {
chooseButtonOpen: false,
polygonArray: [],
point: {},
polygon: null,
worldPositionArray: null,
area: '',
}
},
methods: {
//获取屏幕坐标点为弧度
getPositionCartographic(movement) {
let windowPosition = movement.position || movement.endPosition; //判断是点击还是鼠标移动
let ray = this.viewer.camera.getPickRay(windowPosition);//此为Cartesian3坐标
let position = this.viewer.scene.globe.pick(ray, this.viewer.scene);
let cartographic = this.viewer.scene.globe.ellipsoid.cartesianToCartographic(position); //转换成弧度
let latitude = Cesium.Math.toDegrees(cartographic.latitude);//纬度
let longitude = Cesium.Math.toDegrees(cartographic.longitude);//经度
let height = cartographic.height;
let nowPosition = {latitude: latitude, longitude: longitude, he

这篇博客介绍了如何在Cesium中创建一个可点击的多边形entities,并实时计算其面积。提供了详细的代码示例,强调了在动态改变坐标时避免图形闪烁的问题,并提醒读者多查阅Cesium官方文档以获取更多帮助。

630

被折叠的 条评论
为什么被折叠?



