是否显示大气效果,默认值为 true。
相机可移动区域,初始值为 undefined即无限制。
云的强度,取值范围为 0~1,默认值为 0。
当前时间,用于控制光照,初始值为当前时间戳。
是否开启调试模式,可选布尔值,初始值为 undefined。
景深的强度,取值范围为 0~1,默认值为 0。
地形深度检测,默认值为 true。
开发标签数组,使用响应式变量存储,初始值为 undefined。
编辑辅助点的颜色,使用响应式数组存储,可选值,初始值为 undefined。
编辑辅助点的大小,可选值,初始值为 undefined。
编辑坐标轴的大小,可选值,初始值为 undefined。
是否开启编辑事件监听,默认值为 true。
编辑高度偏移,可选值,默认值为 0。
编辑线的颜色,使用响应式数组存储,可选值,初始值为 undefined。
是否显示编辑线,默认值为 true。
编辑线的宽度,可选值,初始值为 undefined。
编辑点的颜色,使用响应式数组存储,可选值,初始值为 undefined。
编辑点的大小,可选值,初始值为 undefined。
一次性执行的函数代码字符串,可选字符串,初始值为 undefined。
额外的 JSON 数据,使用响应式变量存储,初始值为 undefined。
默认飞行定位时对象包围球所占的屏幕像素大小,默认值为 256。
雾的强度,取值范围为 0~1,默认值为 0。
定义的相机视椎体夹角,默认值为 60。
是否显示地球,默认值为 true。
鼠标悬停时间,用于触发 hover 事件,单位为秒,默认值为 2。
Ion 访问令牌,用于访问相关资源,初始值为空字符串。
经纬度格式,默认为 'DECIMAL_DEGREE'(十进制度)。
场景对象的名称,默认为 '未命名场景对象'。
视口的透明度,可选数值,初始值为 undefined。
雨的强度,取值范围为 0~1,默认值为 0。
是否开启卷帘,默认值为 false。
视口是否可见,可选布尔值,初始值为 undefined。
仿真时间,用于控制场景动画,初始值为当前时间戳。
雪的强度,取值范围为 0~1,默认值为 0。
切分视口位置
地形透明度,默认值为 1.0。
地形着色器配置,初始值为 ESViewer 的默认地形着色器配置。
是否开启文字避让,默认值为 false。
时间同步开关,false 表示禁用,true 表示启用,用于控制当前时间和仿真时间的同步,默认值为 false。
销毁函数的代码字符串,可选字符串,初始值为 undefined。
更新函数的代码字符串,可选字符串,初始值为 undefined。
是否使用默认的状态面板容器,即状态提示,布尔值,默认为 true。
视口的 z-index,可选字符串,初始值为 undefined。
静态_静态 只读context视口的上下文对象。
静态defaults视口的默认属性。
elevationRamp 中 color 可以是颜色数组或画布,设置为数组时长度<=7,缺失部分由默认颜色代替 第一个颜色为最低高度的颜色, 最后一个颜色为最高高度的颜色, 中间的颜色为线性插值
静态 只读register注册视口的方法。
注册一个新的 Viewer 类型及其构造函数。 如果该 Viewer 类型已经注册,会在控制台输出警告信息并覆盖原有注册信息。
要注册的 Viewer 类型的名称。
用于创建该类型 Viewer 实例的构造函数。
已注册的 Viewer 类型的名称。
静态 只读type获取视口是否激活。
设置视口是否激活。
是否激活。
获取视口激活状态变化的事件。
获取相机变化事件。
获取鼠标单击事件。
获取视口的 JSON 表示,包含所有属性。包括默认值。
获取视口的容器。
设置视口的容器。
容器元素或 undefined。
获取容器变化的事件。
设置视口的容器或容器 ID。
容器元素或容器 ID。
获取容器重置事件。
获取视口容器的大小。
获取容器大小变化的事件。
获取鼠标双击事件。
获取视口的默认属性。
是否显示大气效果,默认值为 true。
相机可移动区域,初始值为 undefined即无限制。
云的强度,取值范围为 0~1,默认值为 0。
当前时间,用于控制光照,初始值为当前时间戳。
是否开启调试模式,可选布尔值,初始值为 undefined。
景深的强度,取值范围为 0~1,默认值为 0。
地形深度检测,默认值为 true。
开发标签数组,使用响应式变量存储,初始值为 undefined。
编辑辅助点的颜色,使用响应式数组存储,可选值,初始值为 undefined。
编辑辅助点的大小,可选值,初始值为 undefined。
编辑坐标轴的大小,可选值,初始值为 undefined。
是否开启编辑事件监听,默认值为 true。
编辑高度偏移,可选值,默认值为 0。
编辑线的颜色,使用响应式数组存储,可选值,初始值为 undefined。
是否显示编辑线,默认值为 true。
编辑线的宽度,可选值,初始值为 undefined。
编辑点的颜色,使用响应式数组存储,可选值,初始值为 undefined。
编辑点的大小,可选值,初始值为 undefined。
一次性执行的函数代码字符串,可选字符串,初始值为 undefined。
额外的 JSON 数据,使用响应式变量存储,初始值为 undefined。
默认飞行定位时对象包围球所占的屏幕像素大小,默认值为 256。
雾的强度,取值范围为 0~1,默认值为 0。
定义的相机视椎体夹角,默认值为 60。
是否显示地球,默认值为 true。
鼠标悬停时间,用于触发 hover 事件,单位为秒,默认值为 2。
Ion 访问令牌,用于访问相关资源,初始值为空字符串。
经纬度格式,默认为 'DECIMAL_DEGREE'(十进制度)。
场景对象的名称,默认为 '未命名场景对象'。
视口的透明度,可选数值,初始值为 undefined。
雨的强度,取值范围为 0~1,默认值为 0。
是否开启卷帘,默认值为 false。
视口是否可见,可选布尔值,初始值为 undefined。
仿真时间,用于控制场景动画,初始值为当前时间戳。
雪的强度,取值范围为 0~1,默认值为 0。
切分视口位置
地形透明度,默认值为 1.0。
地形着色器配置,初始值为 ESViewer 的默认地形着色器配置。
是否开启文字避让,默认值为 false。
时间同步开关,false 表示禁用,true 表示启用,用于控制当前时间和仿真时间的同步,默认值为 false。
销毁函数的代码字符串,可选字符串,初始值为 undefined。
更新函数的代码字符串,可选字符串,初始值为 undefined。
是否使用默认的状态面板容器,即状态提示,布尔值,默认为 true。
视口的 z-index,可选字符串,初始值为 undefined。
获取编辑事件。
ESViewer扩展 能力集合 :统一的鼠标位置信息;屏幕渲染器等
鼠标悬停事件 悬停时长可由 hoverTime 属性控制。
获取视口的 ID。
设置视口的 ID,该属性为只读。
要设置的 ID。
获取视口的 JSON 表示。
获取键盘按下事件。
获取键盘抬起事件。
获取导航模式。
获取导航模式变化的事件。
获取覆盖层容器。
获取鼠标指针按下事件。
获取鼠标指针移动事件。
获取鼠标指针移出事件。
获取鼠标指针进入事件。
获取鼠标指针抬起事件。
获取场景对象的迭代器。
获取场景对象映射表。
获取视口的状态。
获取视口状态变化的事件。
获取视口的状态日志。
获取视口状态日志变化的事件。
获取子容器。
获取子容器变化的事件。
获取同步的视口。
获取销毁函数。
获取视口的类型名称。
获取更新函数。
获取是否使用自定义交互。
设置是否使用自定义交互。
是否使用自定义交互。
获取视口变化事件。
获取滚轮事件。
切换到跟随模式。
要跟随的对象 ID。
可选distance: number距离。
可选heading: number航向。
可选pitch: number俯仰角。
let human=objm.createSceneObjectFromJson( {
"id": "ESHumanTest",
"ref": "ESHuman_obj",
"type": "ESHuman",
"position": [
109.60681752569195,
18.58679192126289,
0.5
],
"rotation": [
-8.135989761566222,
0,
0
],
"name": "工人1",
"animation": "walking"
})
let poi=objm.createSceneObjectFromJson({
"id": "bbce8c58-f45e-4365-858f-624f9595a761",
"type": "ESImageLabel",
"position": [
109.6074882,
18.5868828,
0.5
],
"rotation": [
-90,
0,
0
],
"name": "蓝色相机1",
"renderMode": 4
})
// 开启
objm.activeViewer.changeToFollow('ESHumanTest', 20)
//人物移动
human.smoothMove([109.6074882, 18.5868828, 0.5], 20);
切换到沿线路径模式。
地理线字符串 ID。
可选speed: number速度。
可选heightOffset: number高度偏移。
可选loop: boolean是否循环。
可选turnRateDPS: number转弯速率(度/秒)。
可选lineMode: "manual" | "auto"线路模式。
const sceneObject = objm.createSceneObjectFromJson({
"id": "9dc8d658-6287-4913-934a-06e1e8d6e22c",
"type": "ESGeoLineString",
"name": "ESGeoLineString_9dc8",
"allowPicking": true,
"points": [
[
111.86195260395567,
22.307662979880124,
-0.1803640225459114
],
[
111.8627277614124,
22.306607462973968,
0.08754877958473307
],
[
111.86171763564357,
22.30720259529167,
-0.40015763944409843
]
]
})
objm.activeViewer.changeToLine('9dc8d658-6287-4913-934a-06e1e8d6e22c', 30, 80, false, 10, "auto")
切换导航模式为“RotatePoint”(绕点)绕点旋转。此模式允许用户绕点旋转。
要环绕的点位置(经纬度)。
距离点的距离,默认50000米 ,单位米
默认环绕一周的时间 单位S,默认60S。
初始的环绕角度,默认0。
初始的环绕俯仰角,默认-30。
请不要重写destroy,请使用destroyImp来重写!
一次性添加场景对象,并返回一个用于删除这些对象的函数。
要添加的场景对象数组。
强制重新创建视口。
获取指定 ID 对象的边界球信息。
对象的 ID。
获取当前相机的信息。
根据场景对象获取对应的引擎对象。
场景对象。
获取引擎类型。
获取帧率。
根据经纬度获取高度。
经度。
纬度。
可选channel: string通道,UE特有属性。
根据经纬度数组获取高度数组。
经纬度数组。
可选channel: string通道,UE特有属性。
获取像素对应的长度。
获取导航模式。
获取版本信息。
统一整体移动场景对象。
要移动的场景对象数组。
const sceneObj=objm.createSceneObjectFromJson({
"id": "30caacb6-6fe0-4406-8f70-d3fbae1a2c50",
"type": "ESImageLabel",
"name": "蓝色相机1",
"position": [
119.36369331577765,
34.6622708940133,
-3143.483106725995
]
})
const sceneObj1=objm.createSceneObjectFromJson({
"id": "74100d5d-1a30-4b2d-9ba1-eea2a3840418",
"type": "ESTextLabel",
"name": "白小文本1",
"position": [
110.45053587251344,
32.26032172725045,
-2562.356604123618
],
"text": "白小文本1"
})
objm.activeViewer.moveObjects([sceneObj,sceneObj1])
在屏幕位置进行拾取操作。
屏幕位置。
可选attachedInfo: any附加信息。
可选_: boolean在屏幕位置快速拾取三维坐标。UE下和pickPosition功能一致,Cesium下不会触发3DTileset的preUpdate事件,性能较高。
屏幕位置。
设置当前时间。
时间戳(毫秒)数值或者时间格式字符串 字符串格式 2024 06 26 12:34:56 或者 2023-09-29 或者 2023/09/29 12:34:56
设置视口的状态日志。
状态日志内容。
开始编辑场景对象。
要编辑的场景对象。
编辑模式数组或单个模式,可通过ESJEditingMode枚举进行调用。
可选options: { callSource?: "inner" | "outer"; useKeyToSwitch?: boolean }编辑选项。
ESViewer 类是一个抽象类,用于表示和操作视口。它继承自 Destroyable 类,提供了视口的基本功能和管理。
核心功能包括:
使用方式:
构造函数参数:
特殊限制或副作用:
示例代码: