Cesium中的Entity


物体

var viewer = new Cesium.Viewer('cesiumContainer');

// 创建一个entity
var entity = viewer.entities.add({
    name: 'Sample Entity', // 实体名称
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883), // 实体的位置,使用经度、纬度、高度表示
    description: 'This is a sample entity.', // 描述
    point: { // 点属性
        pixelSize: 10, // 点大小
        color: Cesium.Color.YELLOW, // 点颜色
        outlineColor: Cesium.Color.BLACK, // 边框颜色
        outlineWidth: 2 // 边框宽度
    },
    label: { // 标签属性
        text: 'Sample Entity', // 标签文本
        font: '16px sans-serif', // 字体
        fillColor: Cesium.Color.RED, // 文本颜色
        outlineColor: Cesium.Color.BLACK, // 文本边框颜色
        outlineWidth: 2, // 文本边框宽度
        style: Cesium.LabelStyle.FILL_AND_OUTLINE // 标签样式
    },
    polyline: { // 折线属性
        positions: Cesium.Cartesian3.fromDegreesArray([-75.59777, 40.03883, -80.50, 35.14]), // 折线顶点数组
        width: 5, // 折线宽度
        material: Cesium.Color.GREEN // 折线颜色
    },
    polygon: { // 多边形属性
        hierarchy: Cesium.Cartesian3.fromDegreesArray([
            -72.0, 40.0,
            -70.0, 35.0,
            -75.0, 30.0,
            -80.0, 33.0,
            -78.0, 38.0]), // 多边形顶点数组
        material: Cesium.Color.BLUE.withAlpha(0.5), // 多边形填充颜色
        outline: true, // 是否显示多边形边框
        outlineColor: Cesium.Color.BLACK, // 多边形边框颜色
        outlineWidth: 2 // 多边形边框宽度
    },
    billboard: { // 图标属性
        image: 'img/rocket.png', // 图标路径
        width: 50, // 图标宽度
        height: 50 // 图标高度
    },
    ellipse: { // 椭圆属性
        semiMinorAxis: 250000.0, // 椭圆的短轴半径
        semiMajorAxis: 400000.0, // 椭圆的长轴半径
        height: 500000.0, // 椭圆的高度
        material: Cesium.Color.RED.withAlpha(0.5), // 椭圆的填充颜色
        outline: true, // 是否绘制轮廓线
        outlineColor: Cesium.Color.BLACK, // 轮廓线的颜色
        outlineWidth: 2, // 轮廓线的宽度
        numberOfVerticalLines: 10, // 椭圆的竖直方向分割线的数量
        numberOfHorizontalLines: 10, // 椭圆的水平方向分割线的数量
        rotation: Cesium.Math.toRadians(45), // 椭圆的旋转角度,单位为弧度
        stRotation: Cesium.Math.toRadians(0), // 纹理的旋转角度,单位为弧度
        granularity: Cesium.Math.toRadians(1.0), // 椭圆的分辨率,即两个分割线之间的角度,单位为弧度
    },
});

材质open in new window

  1. ColorMaterialProperty: 颜色材质,用于指定实体的颜色。可以使用静态颜色或动态颜色。
// 静态颜色
entity.model.color = Cesium.Color.RED;

// 动态颜色
entity.polygon.material = new Cesium.ColorMaterialProperty(
  Cesium.Color.fromCssColorString("#ff0000").withAlpha(0.5)
);
  1. ImageMaterialProperty: 图片材质,用于将实体表面纹理映射到指定的图像。
entity.polygon.material = new Cesium.ImageMaterialProperty({
  image: "https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Assets/Textures/maki/grocery.png",
  repeat: new Cesium.Cartesian2(4, 4),
});
  1. StripeMaterialProperty: 条纹材质,用于在实体表面创建条纹。可以控制条纹的颜色、方向和宽度。
entity.polygon.material = new Cesium.StripeMaterialProperty({
  evenColor: Cesium.Color.fromCssColorString("#FFD700").withAlpha(0.5),
  oddColor: Cesium.Color.fromCssColorString("#F4A460").withAlpha(0.5),
  repeat: 5,
  offset: 0.5,
  orientation: Cesium.StripeOrientation.HORIZONTAL,
  evenRepeat: 2,
  oddRepeat: 2,
});
  1. CheckerboardMaterialProperty: 棋盘材质,用于在实体表面创建棋盘格。可以控制颜色和方向。
entity.polygon.material = new Cesium.CheckerboardMaterialProperty({
  evenColor: Cesium.Color.fromCssColorString("#FFD700").withAlpha(0.5),
  oddColor: Cesium.Color.fromCssColorString("#F4A460").withAlpha(0.5),
  repeat: new Cesium.Cartesian2(4, 4),
});
  1. PolylineOutlineMaterialProperty: 折线轮廓材质,用于在折线上创建轮廓线。可以控制轮廓线的颜色、宽度和间隔。
entity.polyline.material = new Cesium.PolylineOutlineMaterialProperty({
  color: Cesium.Color.RED,
  outlineColor: Cesium.Color.BLUE,
  outlineWidth: 2,
  gapColor: Cesium.Color.YELLOW,
  gapWidth: 4,
});
  1. PolylineGlowMaterialProperty: 折线发光材质,用于在折线上创建发光效果。可以控制发光线的颜色、宽度和强度。
entity.polyline.material = new Cesium.PolylineGlowMaterialProperty({
  glowPower: 0.2,
  taperPower: 0.5,
  color: Cesium.Color.YELLOW,
  taperOpacity: 0.3,
});
  1. PolylineArrowMaterialProperty:用于创建带箭头的折线材质。

属性:

  • color: Color对象,表示箭头的颜色。
  • outlineColor: Color对象,表示箭头的轮廓线的颜色。
  • outlineWidth: 数字,表示箭头的轮廓线的宽度。
  • proportion: 数字,表示箭头的长度和线段长度的比例。
  • angle: 数字,表示箭头两侧的夹角。
let arrowMaterial = new Cesium.PolylineArrowMaterialProperty(
  Cesium.Color.RED, // 箭头颜色
  5, // 线宽
  0.3, // 箭头长度与线段长度的比例
  Cesium.Math.toRadians(30) // 箭头夹角
);
  1. PolylineDashMaterialProperty:用于创建虚线材质。

属性:

  • color: Color对象,表示虚线的颜色。
  • gapColor: Color对象,表示虚线中间的间隔的颜色。
  • dashLength: 数字,表示虚线的短划线的长度。
  • dashPattern: 数组,表示虚线中的短划线和间隔的长度比例。
let dashMaterial = new Cesium.PolylineDashMaterialProperty({
  color: Cesium.Color.YELLOW,
  gapColor: Cesium.Color.TRANSPARENT,
  dashLength: 20.0,
  dashPattern: [5.0, 10.0],
});
  1. PolylineGlowMaterialProperty:用于创建发光的折线材质。

属性:

  • color: Color对象,表示发光的颜色。
  • glowPower: 数字,表示发光的强度。
let glowMaterial = new Cesium.PolylineGlowMaterialProperty({
  color: Cesium.Color.BLUE,
  glowPower: 0.2,
});
  1. PolylineOutlineMaterialProperty:用于创建有轮廓线的折线材质。

属性:

  • color: Color对象,表示轮廓线的颜色。
  • outlineColor: Color对象,表示轮廓线的颜色。
  • outlineWidth: 数字,表示轮廓线的宽度。
let outlineMaterial = new Cesium.PolylineOutlineMaterialProperty({
  color: Cesium.Color.ORANGE,
  outlineColor: Cesium.Color.WHITE,
  outlineWidth: 2,
});
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.13.0