Extends
Members
背面是否剔除
-
Default Value:
true
Optimization option. Whether to cull tiles using the union of their children bounding volumes.
-
Default Value:
true
用来临时存储客户需要的一些信息,方便使用
- Inherited From:
- Default Value:
''
销毁时的执行语句,只有在对象销毁时才会执行,方便用来清理随该对象创建时附带创建的资源
有一个内置变量p,表示当前对象。 注意对象的销毁除了使用destroyEvalString,还可以使用
有一个内置变量p,表示当前对象。 注意对象的销毁除了使用destroyEvalString,还可以使用
disposers
属性来销毁。
- Inherited From:
- Default Value:
''
See:
用来收集资源销毁函数,并在析构时自动调用!
- Inherited From:
Example:
// 示例1:
myObject.disposers.push(() => {
// 此处执行需要销毁的资源
});
// 示例2:
// XE.MVVM.bind的返回值是一个函数,作用是用来解除双向绑定,
// 把它的返回值放到disposer中,那么对象销毁时就会执行解绑操作。
myObject.disposers.push(XE.MVVM.bind(xxx));
// 示例3:
// XE.MVVM.watch的返回值是一个函数,作用是用来取消监视,
// 把它的返回值放到disposer中,那么对象销毁时就会执行取消监视的操作。
myObject.disposers.push(XE.MVVM.watch(xxx));
readonlyearth : Earth
返回该对象的所属earth实例
- Inherited From:
是否启用
- Inherited From:
设置执行语句,
内部有一个内置的变量p,用来指示当前对象。
注意evalString每次进行属性设置都会执行一遍,如果evalString中有创建资源,资源需要记录,避免再次执行后销毁不了。
内部有一个内置的变量p,用来指示当前对象。
注意evalString每次进行属性设置都会执行一遍,如果evalString中有创建资源,资源需要记录,避免再次执行后销毁不了。
- Inherited From:
- Default Value:
''
Example:
myObject.evalString = `
// 技巧1:p是一个内置变量,可以直接使用
if (p._div) { // 技巧2:evalString有可能执行多次,这个地方的判断是避免div重复创建!
return;
}
// 创建div
const div = document.createElement('div');
p._div = div;
// 技巧3:可以通过p.earth来获取earth变量
const earth = p.earth;
`;
See:
对象的唯一标识符
注意,对象一旦创建,guid不可更改!
注意,对象一旦创建,guid不可更改!
- Inherited From:
optional Scales the diffuse and specular image-based lighting from the earth, sky, atmosphere and star skybox. 分别对应散射光强和镜面光强
-
Default Value:
[1, 1]
The color and intensity of the sunlight used to shade models.
默认值为undefined
默认值为undefined
optional The sun's luminance at the zenith in kilo candela per meter squared to use for this model's procedural environment map.
-
Default Value:
0.5
默认值512M
-
Default Value:
512
值越小越精细、值越大越粗糙。取值范围(0, +∞)
-
Default Value:
16
设置每帧执行语句,和evalString的作用类似
它有三个内置变量,分别是p, scene, time,分别表示当前对象,Cesium的场景对象scene,Cesium的当前帧的时间time 需要注意的是它会每帧执行一次。
它有三个内置变量,分别是p, scene, time,分别表示当前对象,Cesium的场景对象scene,Cesium的当前帧的时间time 需要注意的是它会每帧执行一次。
- Inherited From:
- Default Value:
‘’
Example:
myObject.preUpdateEvalString = `
// 技巧1:p是一个内置变量,可以直接使用,还有scene,time都可以直接使用
p._angle += 1;
if (p._angle > 360.0) {
p._angle = 0.0;
}
const angle = p._angle;
// drawCanvas时使用angle来改变图像内容
// ...
`;
See:
是否可见
-
Default Value:
true
三维瓦片数据服务路径
-
Default Value:
''
剖切面设置
-
Default Value:
''
水淹高度设置
-
Default Value:
-Infinity
类型是一个包含4个元素的数组,元素为number类型,范围在0-1之间。
-
Default Value:
-Infinity
一旦指定,则会根据响应guid的压平多边形集合来对三维瓦片数据进行压平处理
-
Default Value:
''
-
Default Value:
true
- Inherited From:
Deprecated: true
多视口情况下,是否显示在左下角。
-
Default Value:
true
多视口情况下,是否显示在左上角。
-
Default Value:
true
最大可视距离
-
Default Value:
-Infinity
最小可视距离
-
Default Value:
0
位置数组 [经度、纬度、高度]
注意:xbsjUseOriginTransform为false,此属性才会生效。经度、纬度的单位是弧度,高度的单位是米。
注意:xbsjUseOriginTransform为false,此属性才会生效。经度、纬度的单位是弧度,高度的单位是米。
多视口情况下,是否显示在右下角。
-
Default Value:
true
多视口情况下,是否显示在右上角。
-
Default Value:
true
姿态数组 [偏航角、俯仰角、翻转角]
注意:xbsjUseOriginTransform为false,此属性才会生效。偏航角、俯仰角、翻转角的单位是弧度。
注意:xbsjUseOriginTransform为false,此属性才会生效。偏航角、俯仰角、翻转角的单位是弧度。
-
Default Value:
[0, 0, 0]
缩放数组 [x向,y向,z向]
注意:xbsjUseOriginTransform为false,此属性才会生效。
注意:xbsjUseOriginTransform为false,此属性才会生效。
-
Default Value:
[1, 1, 1]
样式设置
具体使用参见:
具体使用参见:
-
Default Value:
''
Example:
使用范例:
// 1 推荐这样使用,不容易出错:
xbsjTileset.xbsjStyle = JSON.stringify({
color: {
conditions: [
["${sid} === 140056", "rgb(255, 122, 0)"],
["true", "rgb(255, 255, 122)"]
]
}
});
补充说明1:
假设Cesium中的写法是这样的:
csiumTileset.style = new Cesium.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}."'
}
});
转化成EarthSDK中的写法就是:
xbsjTileset.xbsjStyle = JSON.stringify({
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}."'
}
});
补充说明2:
问:示例当中 "${sid} === 140056" 中的 140056为何不加单引号?形式如 "${sid} === '140056'"
答:因为sid这个属性的值的类型不是字符串,而是数字;如果是字符串,就需要加引号。
补充说明3:
如果需要恢复到默认设置,或者不设置任何style,可以直接设置成空字符串,如下所示:
xbsjTileset.xbsjStyle = ’‘
// 2 这样使用也可以,但是需要**注意**,因为使用了es6的模板字符串,内部$的地方,需要加反义符\
xbsjTileset.xbsjStyle = `
var style = {
color: {
conditions: [
["\${sid} === 140056", "rgb(255, 122, 0)"],
["true", "rgb(255, 255, 122)"]
]
}
}
`
// 3 这样使用也可以,但是需要**注意**:
// a 因为使用了es6的模板字符串,内部$的地方,需要加反义符\
// b es6模板字符串中的字符必须符合json格式规范,比如必须使用双引号来引用key。
xbsjTileset.xbsjStyle = `
{
"color": {
"conditions": [
["\${sid} === 140056", "rgb(255, 122, 0)"],
["true", "rgb(255, 255, 122)"]
]
}
}
`
See:
获取对象的类型信息
- Inherited From:
如果不使用默认位置姿态,将以xbsjPosition、xbsjRotation属性的设置为准来调整三位瓦片的位置姿态。
Methods
销毁对象
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
警告:对象一旦销毁不可再次使用!
警告:挂在场景树上的对象禁止调用destroy方法,只要通过数组函数将其从场景树中移除,就会自动销毁!
Returns:
返回undefined
- Inherited From:
Example:
// 使用范例
// 这样写的好处是,一旦对象销毁,会同时将引用该对象的变量同时置为undefined,防止再次使用。
this._myObject = this._myObject && this._myObject.destroy();
飞入该对象
- Inherited From:
获取三维瓦片数据的原始位置
Returns:
一个长度为3的数组,元素分别表示 经度、纬度、高度,注意其中的经度和纬度的单位是弧度、高度的单位是米。
检查对象是否已被销毁
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
警告:对象一旦销毁不可再次使用!仅此函数可以调用!
Returns:
对象是否已销毁
- Inherited From:
数据整个JSOn对象,包括默认值
Returns:
创建的JSON数据对象
- Inherited From:
转化成JSON字符串,输出全部元素
Returns:
JSON格式化好的字符串
- Inherited From:
转化成一个JSON数据对象
注意:每次都会创建一个新对象!
注意:每次都会创建一个新对象!
Returns:
创建的JSON数据对象
- Inherited From:
转化成JSON字符串,默认元素不输出
Returns:
JSON格式化好的字符串
- Inherited From:
通过JSON数据对象来设置属性
Name | Type | Description |
---|---|---|
jsonObject |
* |
- Inherited From:
Example:
// 创建一个pin对象
const objConfig = {
"name": 'Pin1',
"xbsjType": "Pin",
"position": [1.9017005694855162, 0.5972477268978722, 488.7695178987821],
"near": 300,
"show": false,
evalString,
};
const pin = new XE.Obj.Pin(earth);
pin.xbsjFromJSON(objConfig);