Appearance
圆锥体操作
目录
1. 添加圆锥体
引入版本:3.6.4 起支持
功能描述
在三维场景中添加圆锥体
调用方法
JavaScript
let jsonData = {
id: 'coneSensor',
coordType: 0,
coordTypeZ: 0,
coord: [116.34599081794, 40.08430867971],
coordZ: 30,
visible: true,
angle: 10,
length: 50,
rotation: [20, 80, 90],
alpha: 0.5,
color: '#ffffff',
outline: true,
outlineColor: '#ffff00',
topSurface: true,
topOutline: true,
topCircleSteps: 5,
topLineSteps: 5,
topStyle: 'flat',
showScanner: true,
scannerColor: '#00ffff',
scannerAlpha: 0.9,
scannerMode: 'circular',
scannerDuration: 3,
scannerRepeatMode: 'backward',
lookAtObj: '03_FACS_Billboard_L_179',
label: 'label text',
label2: 'label2 text',
labelColor: '#ffffff',
labelScale: 1,
labelOffset: [0, 0, 2],
labelBackgroundColor: '#333333',
iconScale: 1,
iconName: 'icon1',
visibleMaxDistance: 10000,
modelVisibleRange: [0, 100],
labelVisibleRange: [0, 1000],
iconVisibleRange: [0, 3000],
};
appInstance.uniCall('addConeSensor', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) |
| coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| coordZ | Number | Z 轴高度(单位:米) |
| visible | Boolean | 初始化添加时的默认值,true:显示,false:隐藏 |
| angle | Number | 圆锥体夹角,(单位:角度,0.1 - 120) |
| length | Number | 圆锥体半径长度,(单位:米),当 lookAtObj 凝视目标不为空时,这个表示从凝视目标的最大长度,当目标大于这个长度时,只画到这个长度。当目标小于等于这个长度时,画到和目标相同的长度 |
| rotation | Array | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360) |
| alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| color | String | 圆锥体颜色 |
| outline | Boolean | 是否显示描边 |
| outlineColor | String | 描边颜色 |
| topSurface | Boolean | 是否显示顶面 |
| topOutline | Boolean | 是否显示顶面网格线 |
| topCircleSteps | Number | 顶面网格线圆圈数量 |
| topLineSteps | Number | 顶面网格线等分直径线数量 |
| topStyle | String | 顶面的样式,flat:平面,curved:曲面 |
| showScanner | Boolean | 是否显示扫描面 |
| scannerColor | String | 扫描面颜色 |
| scannerAlpha | Number | 扫描面透明度,0:完全透明;1:完全不透明 |
| scannerMode | String | 扫描模式,circular:从源到目标的圆环波,subCycle:子锥体循环,subRandom:子锥体随机 |
| scannerDuration | Number | 扫描周期,一个周期所需的时间,(单位:秒) |
| scannerRepeatMode | String | 扫描重复模式,backward:反向开始,startover:从头开始 |
| lookAtObj | String | 凝视目标的 对象 Id。当前锥体 rotation 和半径会跟随目标坐标变化,自身位置不变。对象可以是 model、building 或者 landmarker |
| label | String | 标签文本 |
| label2 | String | 第二行标签文本 |
| labelColor | String | 标签文本颜色,可选值,默认白色 |
| labelScale | Number | 标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率 |
| labelOffset | Array | 标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的相对世界坐标的 x、y、z 偏移位置(单位:米) |
| labelBackgroundColor | String | 标签文本背景颜色,可选值,默认灰色 |
| iconScale | Number | 图标大小缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率 |
| iconName | String | 内置图标名称,详见下表:内置图标;或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义 |
| visibleMaxDistance | Number | 整体最大可见距离(单位:米),摄像机和模型起点大于此距离隐藏 |
| modelVisibleRange | Array | 传感器可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示模型 |
| labelVisibleRange | Array | 标签文字可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示标签文字 |
| iconVisibleRange | Array | 图标可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示图标 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
2. 更新圆锥体
引入版本:3.6.4 起支持
功能描述
更新三维场景中添加圆锥体的数据
调用方法
JavaScript
let jsonData = {
id: 'coneSensor',
coordType: 0,
coordTypeZ: 0,
coord: [116.34599081794, 40.08430867971],
coordZ: 30,
angle: 20,
length: 30,
rotation: [20, 80, 90],
lookAtObj: '11_SM_Residence_3',
};
appInstance.uniCall('updateConeSensorCoord', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,更新时调用者自己传入的唯一标识 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) |
| coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| coordZ | Number | Z 轴高度(单位:米) |
| angle | Number | 圆锥体夹角,(单位:角度,0.1 - 120) |
| length | Number | 圆锥体半径长度,(单位:米),当 lookAtObj 凝视目标不为空时,这个表示从凝视目标的最大长度,当目标大于这个长度时,只画到这个长度。当目标小于等于这个长度时,画到和目标相同的长度 |
| rotation | Array | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360) |
| lookAtObj | String | 凝视目标的 对象 Id。当前锥体 rotation 和半径会跟随目标坐标变化,自身位置不变。对象可以是 model、building 或者 landmarker |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 更新圆锥体样式
引入版本:3.6.4 起支持
功能描述
更新三维场景中添加圆锥体的样式
调用方法
JavaScript
let jsonData = {
id: 'coneSensor',
alpha: 0.5,
color: '#ffff00',
outline: true,
outlineColor: '#0000ff',
topSurface: true,
topOutline: true,
topCircleSteps: 5,
topLineSteps: 5,
topStyle: 'flat',
showScanner: true,
scannerColor: '#00ffff',
scannerAlpha: 0.9,
scannerMode: 'circular',
scannerDuration: 3,
scannerRepeatMode: 'backward',
lookAt: [116.34938119817, 40.08386868199, 20],
label: 'label text',
label2: 'label2 text',
labelColor: '#ffffff',
labelScale: 1,
labelOffset: [0, 0, 2],
labelBackgroundColor: '#333333',
iconScale: 1,
iconName: 'icon1',
visibleMaxDistance: 10000,
modelVisibleRange: [0, 100],
labelVisibleRange: [0, 1000],
iconVisibleRange: [0, 3000],
};
appInstance.uniCall('updateConeSensorStyle', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,更新时调用者自己传入的唯一标识 |
| alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| color | String | 圆锥体颜色 |
| outline | Boolean | 是否显示描边 |
| outlineColor | String | 描边颜色 |
| topSurface | Boolean | 是否显示顶面 |
| topOutline | Boolean | 是否显示顶面网格线 |
| topCircleSteps | Number | 顶面网格线圆圈数量 |
| topLineSteps | Number | 顶面网格线等分直径线数量 |
| topStyle | String | 顶面的样式,flat:平面,curved:曲面 |
| showScanner | Boolean | 是否显示扫描面 |
| scannerColor | String | 扫描面颜色 |
| scannerAlpha | Number | 扫描面透明度,0:完全透明;1:完全不透明 |
| scannerMode | String | 扫描模式,circular:从源到目标的圆环波,subCycle:子锥体循环,subRandom:子锥体随机 |
| scannerDuration | Number | 扫描周期,一个周期所需的时间,(单位:秒) |
| scannerRepeatMode | String | 扫描重复模式,backward:反向开始,startover:从头开始 |
| lookAt | Array | 凝视目标的 XYZ 轴坐标,X:经度;Y:纬度,Z:海拔高度(单位:米)。当前锥体 rotation 会跟随目标坐标变化,自身位置不变 |
| label | String | 标签文本 |
| label2 | String | 第二行标签文本 |
| labelColor | String | 标签文本颜色,可选值,默认白色 |
| labelScale | Number | 标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率 |
| labelOffset | Array | 标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的相对世界坐标的 x、y、z 偏移位置(单位:米) |
| labelBackgroundColor | String | 标签文本背景颜色,可选值,默认灰色 |
| iconScale | Number | 图标大小缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率 |
| iconName | String | 内置图标名称,详见下表:内置图标;或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义 |
| visibleMaxDistance | Number | 整体最大可见距离(单位:米),摄像机和模型起点大于此距离隐藏 |
| modelVisibleRange | Array | 传感器可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示模型 |
| labelVisibleRange | Array | 标签文字可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示标签文字 |
| iconVisibleRange | Array | 图标可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示图标 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
4. 删除圆锥体
引入版本:3.2 起支持
功能描述
删除三维场景中的圆锥体
调用方法
JavaScript
let jsonData = {
id: 'coneSensor',
};
appInstance.uniCall('removeModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |