当前位置: 首页 > 知识库问答 >
问题:

前端 - vue3+cesium ,请问如何在cesium里面绘制点和轨迹线?

越勇锐
2023-06-07

通过后端返回的多个经纬度,进行绘制多个点以及绘制由多个点组成的轨迹线

共有1个答案

姜钊
2023-06-07
// 创建 Cesium.Viewer 实例
const viewer = new Cesium.Viewer('cesiumContainer');

// 后端返回的经纬度数据
const positions = [
  { lon: 116.39, lat: 39.9 },
  { lon: 117.39, lat: 40.9 },
  // ... 更多的点
];

// 添加点
positions.forEach((position, index) => {
  viewer.entities.add({
    position: Cesium.Cartesian3.fromDegrees(position.lon, position.lat),
    point: {
      pixelSize: 10,
      color: Cesium.Color.RED,
      outlineColor: Cesium.Color.WHITE,
      outlineWidth: 2,
    },
    label: {
      text: `点${index + 1}`,
      font: '14pt monospace',
      style: Cesium.LabelStyle.FILL_AND_OUTLINE,
      outlineWidth: 2,
      verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
      pixelOffset: new Cesium.Cartesian2(0, -9),
    },
  });
});

// 添加轨迹线
viewer.entities.add({
  polyline: {
    positions: Cesium.Cartesian3.fromDegreesArray(positions.flatMap(pos => [pos.lon, pos.lat])),
    width: 2,
    material: Cesium.Color.RED,
  },
});
 类似资料:
  • 大佬们,请问如何根据websocket实时返回的数据,如何通过new Cesium.Primitive()进行绘制点和线,并且如何让websocket里面的pointPolyline()和CarModel()函数使其不是每次都会在websocket里面调用,而只是实时更新数据?

  • 请问在Vue3+Cesium上如何根据后端返回的数据,在地图上面显示图片并在图片的上方或者旁边显示后台返回的数据,类似于这样的

  • 原文地址:https://cesiumjs.org/tutorials/cesium-and-webpack/ Cesium 和 Webpack Webpack是非常强大非常流行的JavaScript 模块打包工具。它可以让开发人员以一种简单直观的 require 方式去加载各种页面需要的文件,极大的方便了开源人员对代码和资源文件进行结构化设计。当编译的时候,它会跟踪代码依赖性,把所有的模型打包到

  • CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin. It uses WebGL for hardware-accelerated graphics, and is cross-platform, cross-browser, and tuned

  • Cesium ion是一个提供瓦片图和3D地理空间数据的平台,Cesium ion支持把数据添加到用户自己的CesiumJS应用中。下面我们将使用Sentinal-2二维贴图和Cesium世界地形,二者都需要ion的支持。 备注 在我们使用Cesium的过程中,如果没有申请ion,同时没有自己的数据源用的cesium提供的数据源,viewer的底部常常会提示一行小的英文字母。大意就是需要申请acc

  • 目前我用了Cesium.Cartesian3.fromDegrees 就会将后台返回的坐标给转换为cesium中的笛卡尔坐标系(X,Y,Z)来显示了,所以就导致地图上面显示的位置又偏差,请问大佬们,如何将返回的坐标点按照WGS84经纬度显示出来呢?