Class: Cesium3DTileStyle

Cesium3DTileStyle

new Cesium3DTileStyle(style)

应用于 Cesium3DTileset 的样式。 计算使用3D Tiles Styling language定义的表达式。

Name Type Description
style String | Object 可选

样式或定义样式的对象的 url。

Examples
tileset.style = new SuperMap3D.Cesium3DTileStyle({
    color : {
        conditions : [
            ['${Height} >= 100', 'color("purple", 0.5)'],
            ['${Height} >= 50', 'color("red")'],
            ['true', 'color("blue")']
        ]
    },
    show : '${Height} > 0',
    meta : {
        description : '"Building id ${id} has height ${Height}."'
    }
});
tileset.style = new SuperMap3D.Cesium3DTileStyle({
    color : 'vec4(${Temperature})',
    pointSize : '${Temperature} * 2.0'
});

Members

anchorLineColorStyleExpression

获取或设置用于评估样式 anchorLineColor 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override anchorLineColor expression with a string
style.anchorLineColor = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override anchorLineColor expression with a condition
style.anchorLineColor = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

anchorLineEnabledStyleExpression

获取或设置用于评估样式 anchorLineEnabled 属性的 StyleExpression 对象。也可以使用字符串或定义布尔样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Boolean 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override anchorLineEnabled expression with a string
style.anchorLineEnabled = 'true';
const style = new Cesium.Cesium3DTileStyle();
// Override anchorLineEnabled expression with a condition
style.anchorLineEnabled = {
    conditions : [
        ['${height} > 2', 'true'],
        ['true', 'false']
    ]
};

backgroundColorStyleExpression

获取或设置用于评估样式 backgroundColor 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override backgroundColor expression with a string
style.backgroundColor = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override backgroundColor expression with a condition
style.backgroundColor = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

backgroundEnabledStyleExpression

获取或设置用于评估样式 backgroundEnabled 属性的 StyleExpression 对象。也可以使用字符串或定义布尔样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Boolean 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override backgroundEnabled expression with a string
style.backgroundEnabled = 'true';
const style = new Cesium.Cesium3DTileStyle();
// Override backgroundEnabled expression with a condition
style.backgroundEnabled = {
    conditions : [
        ['${height} > 2', 'true'],
        ['true', 'false']
    ]
};

backgroundPaddingStyleExpression

获取或设置用于评估样式 backgroundPadding 属性的 StyleExpression 对象。也可以使用字符串或定义 vec2 样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Cartesian2 类型。

此表达式仅适用于矢量瓦片中的点要素。

Example
const style = new Cesium.Cesium3DTileStyle();
// Override backgroundPadding expression with a string
style.backgroundPadding = 'vec2(5.0, 7.0)';
style.backgroundPadding.evaluate(feature); // returns a Cartesian2

获取或设置用于评估样式 color 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式适用于所有瓦片格式。

Examples
const style = new Cesium3DTileStyle({
    color : '(${Temperature} > 90) ? color("red") : color("white")'
});
style.color.evaluateColor(feature, result); // returns a Cesium.Color object
const style = new Cesium.Cesium3DTileStyle();
// Override color expression with a custom function
style.color = {
    evaluateColor : function(feature, result) {
        return Cesium.Color.clone(Cesium.Color.WHITE, result);
    }
};
const style = new Cesium.Cesium3DTileStyle();
// Override color expression with a string
style.color = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override color expression with a condition
style.color = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

disableDepthTestDistanceStyleExpression

获取或设置用于评估样式 disableDepthTestDistance 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Number 类型。

此表达式仅适用于矢量瓦片中的点要素。

Example
const style = new Cesium.Cesium3DTileStyle();
// Override disableDepthTestDistance expression with a string
style.disableDepthTestDistance = '1000.0';
style.disableDepthTestDistance.evaluate(feature); // returns a Number

distanceDisplayConditionStyleExpression

获取或设置用于评估样式 distanceDisplayCondition 属性的 StyleExpression 对象。也可以使用字符串或定义 vec2 样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Cartesian2 类型。

此表达式仅适用于矢量瓦片中的点要素。

Example
const style = new Cesium.Cesium3DTileStyle();
// Override distanceDisplayCondition expression with a string
style.distanceDisplayCondition = 'vec2(0.0, 5.5e6)';
style.distanceDisplayCondition.evaluate(feature); // returns a Cartesian2

获取或设置用于评估样式 font 属性的 StyleExpression 对象。也可以使用字符串或定义字符串样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 String 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    font : '(${Temperature} > 90) ? "30px Helvetica" : "24px Helvetica"'
});
style.font.evaluate(feature); // returns a String
const style = new Cesium.Cesium3DTileStyle();
// Override font expression with a custom function
style.font = {
    evaluate : function(feature) {
        return '24px Helvetica';
    }
};

heightOffsetStyleExpression

获取或设置用于评估样式 heightOffset 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Number 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override heightOffset expression with a string
style.heightOffset = '2.0';
const style = new Cesium.Cesium3DTileStyle();
// Override heightOffset expression with a condition
style.heightOffset = {
    conditions : [
        ['${height} > 2', '4.0'],
        ['true', '2.0']
    ]
};

horizontalOriginStyleExpression

获取或设置用于评估样式 horizontalOrigin 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 HorizontalOrigin 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    horizontalOrigin : HorizontalOrigin.LEFT
});
style.horizontalOrigin.evaluate(feature); // returns a HorizontalOrigin
const style = new Cesium.Cesium3DTileStyle();
// Override horizontalOrigin expression with a custom function
style.horizontalOrigin = {
    evaluate : function(feature) {
        return HorizontalOrigin.CENTER;
    }
};

获取或设置用于评估样式 image 属性的 StyleExpression 对象。也可以使用字符串或定义字符串样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 String 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    image : '(${Temperature} > 90) ? "/url/to/image1" : "/url/to/image2"'
});
style.image.evaluate(feature); // returns a String
const style = new Cesium.Cesium3DTileStyle();
// Override image expression with a custom function
style.image = {
    evaluate : function(feature) {
        return '/url/to/image';
    }
};

labelColorStyleExpression

获取或设置用于评估样式 labelColor 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override labelColor expression with a string
style.labelColor = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override labelColor expression with a condition
style.labelColor = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

labelHorizontalOriginStyleExpression

获取或设置用于评估样式 labelHorizontalOrigin 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 HorizontalOrigin 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    labelHorizontalOrigin : HorizontalOrigin.LEFT
});
style.labelHorizontalOrigin.evaluate(feature); // 返回一个 HorizontalOrigin
const style = new Cesium.Cesium3DTileStyle();
// 使用自定义函数覆盖 labelHorizontalOrigin 表达式
style.labelHorizontalOrigin = {
    evaluate : function(feature) {
        return HorizontalOrigin.CENTER;
    }
};

labelOutlineColorStyleExpression

获取或设置用于评估样式 labelOutlineColor 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override labelOutlineColor expression with a string
style.labelOutlineColor = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override labelOutlineColor expression with a condition
style.labelOutlineColor = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

labelOutlineWidthStyleExpression

获取或设置用于评估样式 labelOutlineWidth 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Number 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override labelOutlineWidth expression with a string
style.labelOutlineWidth = '5';
const style = new Cesium.Cesium3DTileStyle();
// Override labelOutlineWidth expression with a condition
style.labelOutlineWidth = {
    conditions : [
        ['${height} > 2', '5'],
        ['true', '0']
    ]
};

labelStyleStyleExpression

获取或设置用于评估样式 label style 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 LabelStyle 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    labelStyle : `(\${Temperature} > 90) ? ${LabelStyle.FILL_AND_OUTLINE} : ${LabelStyle.FILL}`
});
style.labelStyle.evaluate(feature); // returns a LabelStyle
const style = new Cesium.Cesium3DTileStyle();
// Override labelStyle expression with a custom function
style.labelStyle = {
    evaluate : function(feature) {
        return LabelStyle.FILL;
    }
};

labelTextStyleExpression

获取或设置用于评估样式 labelText 属性的 StyleExpression 对象。也可以使用字符串或定义字符串样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 String 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    labelText : '(${Temperature} > 90) ? ">90" : "<=90"'
});
style.labelText.evaluate(feature); // returns a String
const style = new Cesium.Cesium3DTileStyle();
// Override labelText expression with a custom function
style.labelText = {
    evaluate : function(feature) {
        return 'Example label text';
    }
};

labelVerticalOriginStyleExpression

获取或设置用于评估样式 labelVerticalOrigin 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 VerticalOrigin 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    labelVerticalOrigin : VerticalOrigin.TOP
});
style.labelVerticalOrigin.evaluate(feature); // returns a VerticalOrigin
const style = new Cesium.Cesium3DTileStyle();
// Override labelVerticalOrigin expression with a custom function
style.labelVerticalOrigin = {
    evaluate : function(feature) {
        return VerticalOrigin.CENTER;
    }
};

获取或设置包含应用程序特定表达式的对象,这些表达式可以被显式 评估,例如用于在 UI 中显示。

Example
const style = new Cesium3DTileStyle({
    meta : {
        description : '"Building id ${id} has height ${Height}."'
    }
});
style.meta.description.evaluate(feature); // 返回带有替换变量的字符串

pointOutlineColorStyleExpression

获取或设置用于评估样式 pointOutlineColor 属性的 StyleExpression 对象。也可以使用字符串或定义颜色样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Color 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override pointOutlineColor expression with a string
style.pointOutlineColor = 'color("blue")';
const style = new Cesium.Cesium3DTileStyle();
// Override pointOutlineColor expression with a condition
style.pointOutlineColor = {
    conditions : [
        ['${height} > 2', 'color("cyan")'],
        ['true', 'color("blue")']
    ]
};

pointOutlineWidthStyleExpression

获取或设置用于评估样式 pointOutlineWidth 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Number 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium.Cesium3DTileStyle();
// Override pointOutlineWidth expression with a string
style.pointOutlineWidth = '5';
const style = new Cesium.Cesium3DTileStyle();
// Override pointOutlineWidth expression with a condition
style.pointOutlineWidth = {
    conditions : [
        ['${height} > 2', '5'],
        ['true', '0']
    ]
};

pointSizeStyleExpression

获取或设置用于评估样式 pointSize 属性的 StyleExpression 对象。也可以使用字符串或定义点大小样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Number 类型。

此表达式仅适用于矢量瓦片或点云瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    pointSize : '(${Temperature} > 90) ? 2.0 : 1.0'
});
style.pointSize.evaluate(feature); // returns a Number
const style = new Cesium.Cesium3DTileStyle();
// Override pointSize expression with a custom function
style.pointSize = {
    evaluate : function(feature) {
        return 1.0;
    }
};
const style = new Cesium.Cesium3DTileStyle();
// Override pointSize expression with a number
style.pointSize = 1.0;
const style = new Cesium.Cesium3DTileStyle();
// Override pointSize expression with a string
style.pointSize = '${height} / 10';
const style = new Cesium.Cesium3DTileStyle();
// Override pointSize expression with a condition
style.pointSize =  {
    conditions : [
        ['${height} > 2', '1.0'],
        ['true', '2.0']
    ]
};

scaleByDistanceStyleExpression

获取或设置用于评估样式 scaleByDistance 属性的 StyleExpression 对象。也可以使用字符串或定义 vec4 样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Cartesian4 类型。

此表达式仅适用于矢量瓦片中的点要素。

Example
const style = new Cesium.Cesium3DTileStyle();
// Override scaleByDistance expression with a string
style.scaleByDistance = 'vec4(1.5e2, 2.0, 1.5e7, 0.5)';
style.scaleByDistance.evaluate(feature); // returns a Cartesian4

获取或设置用于评估样式 show 属性的 StyleExpression 对象。也可以使用布尔值、字符串或定义 show 样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回或转换为 Boolean 类型。

此表达式适用于所有瓦片格式。

Examples
const style = new Cesium3DTileStyle({
    show : '(regExp("^Chest").test(${County})) && (${YearBuilt} >= 1970)'
});
style.show.evaluate(feature); // returns true or false depending on the feature's properties
const style = new Cesium.Cesium3DTileStyle();
// Override show expression with a custom function
style.show = {
    evaluate : function(feature) {
        return true;
    }
};
const style = new Cesium.Cesium3DTileStyle();
// Override show expression with a boolean
style.show = true;
};
const style = new Cesium.Cesium3DTileStyle();
// Override show expression with a string
style.show = '${Height} > 0';
};
const style = new Cesium.Cesium3DTileStyle();
// Override show expression with a condition
style.show = {
    conditions: [
        ['${height} > 2', 'false'],
        ['true', 'true']
    ];
};

readonly styleObject

Default Value:
undefined

translucencyByDistanceStyleExpression

获取或设置用于评估样式 translucencyByDistance 属性的 StyleExpression 对象。也可以使用字符串或定义 vec4 样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 Cartesian4 类型。

此表达式仅适用于矢量瓦片中的点要素。

Example
const style = new Cesium.Cesium3DTileStyle();
// Override translucencyByDistance expression with a string
style.translucencyByDistance = 'vec4(1.5e2, 1.0, 1.5e7, 0.2)';
style.translucencyByDistance.evaluate(feature); // returns a Cartesian4

verticalOriginStyleExpression

获取或设置用于评估样式 verticalOrigin 属性的 StyleExpression 对象。也可以使用字符串或定义数字样式的对象。 getter 将返回内部的 ExpressionConditionsExpression,这可能与提供给 setter 的值不同。

表达式必须返回 VerticalOrigin 类型。

此表达式仅适用于矢量瓦片中的点要素。

Examples
const style = new Cesium3DTileStyle({
    verticalOrigin : VerticalOrigin.TOP
});
style.verticalOrigin.evaluate(feature); // returns a VerticalOrigin
const style = new Cesium.Cesium3DTileStyle();
// Override verticalOrigin expression with a custom function
style.verticalOrigin = {
    evaluate : function(feature) {
        return VerticalOrigin.CENTER;
    }
};

Methods

static fromJSON(value){Cesium3DTileStyle}

从 JSON 对象创建 Cesium3DTileStyle 对象。

Name Type Description
value object

包含样式信息的 JSON 对象。

Returns:
Type Description
Cesium3DTileStyle 创建的 Cesium3DTileStyle 对象。

static toJSON(value){object}

将 Cesium3DTileStyle 对象转换为 JSON 对象。

Name Type Description
value Cesium3DTileStyle

要转换的 Cesium3DTileStyle 对象。

Returns:
Type Description
object 转换后的 JSON 对象。