SunLighting 类允许您将场景中的照明更改为阳光。 灯光的位置设置为太阳的位置。
例子:
let view = new SceneView({
container: "viewDiv",
map: new Map({
basemap: "geoscene-community",
ground: "world-elevation"
}),
environment: {
lighting: {
type: "sun" // 转换成 new SunLighting()
}
}
});
只要 type 属性更改,照明可视化就会更新:
view.environment.lighting = {
type: "sun",
directShadowsEnabled: true // 转换成 new SunLighting({ directShadowsEnabled: true })
}
构造函数
属性概述
名称 | 类型 | 总结 | 类 | |
---|---|---|---|---|
Boolean | 更多信息 表示是否显示环境光遮蔽着色。 | 更多信息 | SunLighting | |
Boolean | 更多信息 表示模拟太阳的日期和时间是否自动更新以在相机更改时保持当前时间。 | 更多信息 | SunLighting | |
Date | 更多信息 模拟太阳的当前日期和时间。 | 更多信息 | SunLighting | |
String | 更多信息 类的名称。 | 更多信息 | Accessor | |
Boolean | 更多信息 表示是否显示太阳投射的阴影。 | 更多信息 | Lighting | |
Number | 更多信息 应在 UI 中显示以表示日期的 UTC 时区偏移量(以小时为单位)。 | 更多信息 | Lighting | |
String | 更多信息 SunLighting 类型总是"sun"。 | 更多信息 | SunLighting | |
Boolean | 更多信息 表示 WaterSymbol3DLayer 是否显示周围地形、建筑物和其他 3D 对象的反射。 | 更多信息 | SunLighting |
属性详述
-
ambientOcclusionEnabled Boolean
-
表示是否显示环境遮挡阴影。
- 默认值:false
-
cameraTrackingEnabled Boolean
-
表示模拟太阳的日期和时间是否自动更新以在相机更改时保持当前时间。
- 默认值:true
-
date Date
-
模拟太阳的当前日期和时间。 设置日期时,指定时区很重要,否则会使用浏览器的时区。 这可能会导致不同时区的用户使用不同的照明。
- 默认值:new Date("March 15, 2022 12:00:00 UTC")
-
类的名称。 声明的类名格式为
geoscene.folder.className
。
-
表示是否显示太阳投射的阴影。 阴影仅针对真实世界的 3D 对象显示。 地形不会投射阴影。 在小缩放级别的局部场景中,不显示阴影。 要更好地控制哪些 3D 对象投射阴影,请使用 ObjectSymbol3DLayer, FillSymbol3DLayer, ExtrudeSymbol3DLayer 和 PathSymbol3DLayer 上可用的
castShadows
属性。- 默认值:false
-
UTC 中的时区偏移量小时,它应该显示在 UI 表示日期。此值并不影响实际现场的照明。
- 默认值:null
-
type Stringreadonly
-
SunLighting 工作类型总是"sun"。
-
waterReflectionEnabled Boolean
-
表示 WaterSymbol3DLayer 是否显示周围地形、建筑物和其他 3D 对象的反射。
- 默认值:false
方法概述
名称 | 返回类型 | 总结 | 类 | |
---|---|---|---|---|
Lighting | 更多信息 创建此对象的深层克隆。 | 更多信息 | Lighting | |
更多信息 在部分应用提供的网络场景照明设置的同时创建它的克隆。 | 更多信息 | SunLighting | ||
Boolean | 更多信息
| 更多信息 | Lighting | |
Boolean | 更多信息
| 更多信息 | Lighting | |
Boolean | 更多信息
| 更多信息 | Lighting | |
Promise | 更多信息
| 更多信息 | Lighting |
方法详细说明
-
创建此对象的深拷贝。
返回:类型 描述 Lighting 调用此方法创建一个新的实例的拷贝。
-
cloneWithWebsceneLighting()
-
在部分应用提供的网络场景照明设置的同时创建它的拷贝。
-
isFulfilled()
可用于验证创建类的实例是否已完成(已解决或已拒绝)。 如果满足,则返回true
。返回:类型 描述 Boolean 创建类的实例是否已完成(已解决或已拒绝)。
-
isRejected()
可用于验证创建类的实例是否被拒绝。 如果被拒绝,则返回true
。返回:类型 描述 Boolean 表示创建类的实例是否已被拒绝。
-
isResolved()
可用于验证创建类的实例是否已解决。 如果已解决,将返回true
。返回:类型 描述 Boolean 表示创建类的实例是否已解决。
-
一旦创建了类的实例,就可以利用
when()
。 这个方法有两个输入参数:一个callback
函数和一个errback
函数。callback
在类的实例加载时执行。 如果类的实例无法加载,则执行errback
。参数:callback Functionoptional当 promise 解决时调用的函数。
errback Functionoptional当 promise 失败时执行的函数。
返回:类型 描述 Promise 返回 callback
结果的新承诺,可用于链接其他函数。例子:// 尽管此示例使用 MapView,但任何作为 Promise 的类实例都可以以相同的方式使用 when() let view = new MapView(); view.when(function(){ // 当 Promise resolved 时,函数将被执行 }, function(error){ // 当 Promise 通过 rejected 抛错时,这个函数将被执行 });