Cesium绘制带有方向的线

文章描述了使用Cesium库在3D地图中绘制线段(uav-tmp-line),包括设置方向、跟随地形、宽度以及如何根据地理数据计算边界并调整相机以显示整个区域的过程。
摘要由CSDN通过智能技术生成
export const MAP_3D_BEGIN_CALC = (lineStringData, geoData) => {
  // 画方向线
  map.entities.add({
    name: 'uav-tmp-line',
    polyline: {
      positions: Cesium.Cartesian3.fromDegreesArray(lineStringData),
      material: new Cesium.PolylineArrowMaterialProperty(Cesium.Color.RED),//创建线段的材质,设置方向
      followSurface: true, //表示路径是否跟随地形,如果为true,则路径将会根据地形起伏变化
      width: 10,
      clampToGround: true,
    },
  });
  var bbox = turf.bbox(geoData.features[0]);
  map.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(Number(bbox[0]), Number(bbox[1]), 10000.0),
  });
};

效果图:在这里插入图片描述

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium中,可以使用PolylinePrimitive或PolylineGeometry来绘制线条,如果需要指定线条方向,可以通过设置PolylineGeometry的positions属性来实现。具体步骤如下: 1. 创建PolylineGeometry对象,并设置其positions属性为一个Cartesian3数组,用来指定线条的坐标点。 ``` var positions = [ Cesium.Cartesian3.fromDegrees(-75, 35), Cesium.Cartesian3.fromDegrees(-125, 35) ]; var polyline = new Cesium.PolylineGeometry({ positions: positions }); ``` 2. 创建GeometryInstance对象,并设置其geometry属性为PolylineGeometry对象,用来指定线条的几何形状。 ``` var instance = new Cesium.GeometryInstance({ geometry: polyline }); ``` 3. 创建PolylineMaterialAppearance对象,并设置其material属性为一个Material对象,用来指定线条的颜色、宽度等属性。 ``` var material = new Cesium.Material({ fabric : { type : 'Color', uniforms : { color : new Cesium.Color(1.0, 1.0, 0.0, 1.0) } } }); var appearance = new Cesium.PolylineMaterialAppearance({ material: material, lineWidth: 5.0 }); ``` 4. 创建Primitive对象,并设置其geometryInstances属性为GeometryInstance对象,设置其appearance属性为PolylineMaterialAppearance对象,用来指定线条的外观和材质。 ``` var primitive = new Cesium.Primitive({ geometryInstances: instance, appearance: appearance, allowPicking: false }); ``` 5. 将Primitive对象添加到场景中。 ``` viewer.scene.primitives.add(primitive); ``` 以上代码可以绘制一条从(-75,35)到(-125,35)的黄色线条,宽度为5.0。如果需要指定线条方向,可以调整positions数组中的顺序或添加更多的坐标点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值