Skip to content

四棱锥体操作 ​

目录 ​

1. 添加四棱锥体 ​

引入版本:3.6.4 起支持

功能描述 ​

在三维场景中添加四棱锥体

调用方法 ​

JavaScript
let jsonData = {
  id: 'pyramidSensor',
  coordType: 0,
  coordTypeZ: 0,
  coord: [116.34599081794, 40.08430867971],
  coordZ: 30,
  visible: true,
  angleH: 10,
  angleV: 10,
  length: 10,
  rotation: [20, 80, 90],
  alpha: 0.5,
  color: '#ffffff',
  outline: true,
  outlineColor: '#ffffff',
  topSurface: true,
  topOutline: true,
  topStepsV: 5,
  topStepsH: 8,
  topStyle: 'flat',
  showScanner: true,
  scannerColor: '#00ffff',
  scannerAlpha: 0.9,
  scannerMode: 'vertical',
  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('addPyramidSensor', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别
coordTypeNumberXY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点
coordTypeZNumberZ 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)
coordArrayXY 轴坐标,X:经度;Y:纬度
coordZNumberZ 轴高度(单位:米)
visibleBoolean初始化添加时的默认值,true:显示,false:隐藏
angleHNumber四棱锥横向夹角,(单位:角度,0.1 - 180)
angleVNumber四棱锥纵向夹角,(单位:角度,0.1 - 360)
lengthNumber四棱锥半径长度,(单位:米),当 lookAtObj 凝视目标不为空时,这个表示从凝视目标的最大长度,当目标大于这个长度时,只画到这个长度。当目标小于等于这个长度时,画到和目标相同的长度
rotationArray[Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360)
alphaNumber透明度,0:完全透明;1:完全不透明
colorString四棱锥颜色
outlineBoolean是否显示描边
outlineColorString描边颜色
topSurfaceBoolean是否显示顶面
topOutlineBoolean是否显示顶面网格线
topStepsVNumber顶面网格线纵向数量
topStepsHNumber顶面网格线横向数量
topStyleString顶面的样式,flat:平面,curved:曲面
showScannerBoolean是否显示扫描面
scannerColorString扫描面颜色
scannerAlphaNumber扫描面透明度,0:完全透明;1:完全不透明
scannerModeString扫描模式,vertical:垂直方向,horizontal:水平方向,subCycle:子锥体循环,subRandom:子锥体随机
scannerDurationNumber扫描周期,一个周期所需的时间,(单位:秒)
scannerRepeatModeString扫描重复模式,backward:反向开始,startover:从头开始
lookAtObjString凝视目标的 对象 Id。当前锥体 rotation 和半径会跟随目标坐标变化,自身位置不变。对象可以是 model、building 或者 landmarker
labelString标签文本
label2String第二行标签文本
labelColorString标签文本颜色,可选值,默认白色
labelScaleNumber标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率
labelOffsetArray标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的相对世界坐标的 x、y、z 偏移位置(单位:米)
labelBackgroundColorString标签文本背景颜色,可选值,默认灰色
iconScaleNumber图标大小缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率
iconNameString内置图标名称,详见下表:内置图标;或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义
visibleMaxDistanceNumber整体最大可见距离(单位:米),摄像机和模型起点大于此距离隐藏
modelVisibleRangeArray传感器可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示模型
labelVisibleRangeArray标签文字可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示标签文字
iconVisibleRangeArray图标可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示图标

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

2. 更新四棱锥体 ​

引入版本:3.6.4 起支持

功能描述 ​

更新三维场景中添加四棱锥体的数据

调用方法 ​

JavaScript
let jsonData = {
  id: 'pyramidSensor',
  coordType: 0,
  coordTypeZ: 0,
  coord: [116.34599081794, 40.08430867971],
  coordZ: 30,
  angleH: 20,
  angleV: 10,
  length: 50,
  rotation: [20, 80, 90],
  lookAtObj: '11_SM_Residence_3',
};

appInstance.uniCall('updatePyramidSensorCoord', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString图层对象 id,更新时调用者自己传入的唯一标识
coordTypeNumberXY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点
coordTypeZNumberZ 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米)
coordArrayXY 轴坐标,X:经度;Y:纬度
coordZNumberZ 轴高度(单位:米)
angleHNumber四棱锥横向夹角,(单位:角度,0.1 - 360)
angleVNumber四棱锥纵向夹角,(单位:角度,0.1 - 360)
lengthNumber四棱锥半径长度,(单位:米),当 lookAtObj 凝视目标不为空时,这个表示从凝视目标的最大长度,当目标大于这个长度时,只画到这个长度。当目标小于等于这个长度时,画到和目标相同的长度
rotationArray[Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360)
lookAtObjString凝视目标的 对象 Id。当前锥体 rotation 和半径会跟随目标坐标变化,自身位置不变。对象可以是 model、building 或者 landmarker

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

3. 更新四棱锥体样式 ​

引入版本:3.6.4 起支持

功能描述 ​

更新三维场景中添加四棱锥体的样式

调用方法 ​

JavaScript
let jsonData = {
  id: 'pyramidSensor',
  alpha: 0.5,
  color: '#ffffff',
  outline: true,
  outlineColor: '#ff0000',
  topSurface: true,
  topOutline: true,
  topStepsV: 5,
  topStepsH: 8,
  topStyle: 'curved',
  showScanner: true,
  scannerColor: '#ffff00',
  scannerAlpha: 0.9,
  scannerMode: 'horizontal',
  scannerDuration: 3,
  scannerRepeatMode: 'backward',
  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('updatePyramidSensorStyle', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString图层对象 id,更新时调用者自己传入的唯一标识
alphaNumber透明度,0:完全透明;1:完全不透明
colorString四棱锥颜色
outlineBoolean是否显示描边
outlineColorString描边颜色
topSurfaceBoolean是否显示顶面
topOutlineBoolean是否显示顶面网格线
topStepsVNumber顶面网格线纵向数量
topStepsHNumber顶面网格线横向数量
topStyleString顶面的样式,flat:平面,curved:曲面
showScannerBoolean是否显示扫描面
scannerColorString扫描面颜色
scannerAlphaNumber扫描面透明度,0:完全透明;1:完全不透明
scannerModeString扫描模式,vertical:垂直方向,horizontal:水平方向,subCycle:子锥体循环,subRandom:子锥体随机
scannerDurationNumber扫描周期,一个周期所需的时间,(单位:秒)
scannerRepeatModeString扫描重复模式,backward:反向开始,startover:从头开始
labelString标签文本
label2String第二行标签文本
labelColorString标签文本颜色,可选值,默认白色
labelScaleNumber标签文本的缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率
labelOffsetArray标签文本的位置偏移,默认值是[0, 0, 0],表示相对于模型中心点的相对世界坐标的 x、y、z 偏移位置(单位:米)
labelBackgroundColorString标签文本背景颜色,可选值,默认灰色
iconScaleNumber图标大小缩放,默认值是 1 表示原大,0 - 1:表示缩小倍率,大于 1:表示放大倍率
iconNameString内置图标名称,详见下表:内置图标;或根据项目,在场景中预置好的图标对象的名称,包含文字样式定义
visibleMaxDistanceNumber整体最大可见距离(单位:米),摄像机和模型起点大于此距离隐藏
modelVisibleRangeArray传感器可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示模型
labelVisibleRangeArray标签文字可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示标签文字
iconVisibleRangeArray图标可见距离范围(单位:米),在大于等于最小数和小于等于最大数的距离内显示图标

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录

4. 删除四棱锥体 ​

引入版本:3.2 起支持

功能描述 ​

删除三维场景中的四棱锥体

调用方法 ​

JavaScript
let jsonData = {
  id: 'pyramidSensor',
};

appInstance.uniCall('removeModel', jsonData, (result) => {
  console.log(result);
});

参数描述 ​

属性类型说明
idString模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别

回调数据 ​

JSON
{
  "result": 1,
  "message": "成功。"
}

回调数据参数描述 ​

属性类型说明
resultNumber1:代表成功;0:代表失败
messageString成功或者失败原因

返回本章目录