Appearance
模型基本操作
目录
- 1. 添加模型
- 2. 移除模型
- 3. 获取模型类别
- 4. 设置模型基础变换
- 5. 设置模型基础变换 2
- 6. 设置模型数据
- 7. 设置模型样式
- 8. 设置模型显隐
- 9. 设置模型基础材质贴图
- 10. 获取类别模型
- 11. 获取图层中的模型
- 12. 开始剖分模型
- 13. 结束剖分模型
- 14. 添加模型 Tip
- 15. 移除模型 Tip
- 16. 持续旋转模型
- 17. 设置模型持续旋转状态
- 18. 持续闪烁模型
- 19. 设置模型持续闪烁状态
- 20. 持续移动模型
- 21. 设置模型持续移动状态
- 22. 持续路径移动模型
- 23. 设置模型持续路径移动状态
- 24. 添加关系线
- 25. 更新关系线数据
- 26. 更新关系线样式
- 27. 删除关系线
1. 添加模型
引入版本:3.2 起支持
功能描述
添加模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
coordType: 0,
coordTypeZ: 0,
coord: [114.560257, 37.09079],
coordZ: 10,
rotation: [20, 80, 90],
alpha: 0.5,
scale: 25,
titleText: '标题',
titleColor: '#ffffff',
titleBackgroundColor: '#333333',
titleFontSize: 20,
titileAutoScale: false,
visible: true,
isReferenceType: false,
modelMaxDistance: 1000,
modelType: 'carType01',
};
appInstance.uniCall('addModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型 ID |
| coordType | Number | xy 轴坐标模式 坐标类型(0:x 经度 y 纬度;1:x 米 y 米,相对世界 00 点) 目前该属性仅支持属性值为 0 |
| coordTypeZ | Number | z 轴坐标模式 坐标高度类型,单位:米(0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面) 目前该属性仅支持属性值为 0 |
| coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| coordZ | Number | Z 轴高度(单位:米) |
| rotation | Array | XYZ 三轴旋转度数 [偏航角(单位:角度,0 正北, -360-360), 俯仰角(单位:角度,0 水平, -360-360),翻滚角(单位:角度,0 水平,-360-360)] |
| alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| scale | Number | 模型整体放缩倍数(单位:倍),支持单一数值,或者[scaleX, scaleY, scaleZ]的写法。 |
| titleText | String | 特效标签文本 |
| titleColor | String | 特效标签文本颜色,可选值,默认白色 |
| titleBackgroundColor | String | 特效标签文本背景颜色,可选值,默认灰色 |
| titleFontSize | Number | 模型标签文本字体大小,数值越大,文字越大 |
| titileAutoScale | Boolean | 模型标签是否随摄像机距离自动缩放,false,不缩放,永远一样大;true,缩放,摄像机越远标签越小 |
| visible | Boolean | 添加当前模型时默认显示还是隐藏 |
| isReferenceType | Boolean | 模型是引用类型还是复制类型,引用类型的对象占用更少的显存和绘制调用次数。但是无法自定义修改材质和粒子效果,且不支持设置单个实例的透明度。默认是复制类型。false: 复制类型,true: 引用类型。(流渲染,当模型有子节点时不支持引用类型) |
| modelMaxDistance | Number | 模型最大可见距离,(单位:米) |
| modelType | String | model(模型),building(建筑物),connection(关系线),iconModel(模型型号) |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
2. 移除模型
引入版本:3.2 起支持
功能描述
移除模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
};
appInstance.uniCall('removeModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型 ID |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 获取模型类别
引入版本:3.3 起支持
功能描述
获取模型类别
调用方法
JavaScript
let jsonData = {};
appInstance.uniCall('getModelType', jsonData, (result) => {
console.log(result);
});回调数据
JSON
{
"result": 1,
"message": "成功。",
"modelType": [
"typeName1",
"typeName2",
"typeName3"
]
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
| modelType | Array | 模型类型清单,具体参考枚举类型定义 |
4. 设置模型基础变换
引入版本:3.0 起支持
功能描述
设置三维场景中模型的基础变换
调用方法
JavaScript
let jsonData = {
id: 'building01',
layerId: 'layerId',
coordType: 0,
coordTypeZ: 0,
coord: [113.9265000433029, 22.50463213936109], //以深圳湾经纬度为例
coordZ: 70,
rotation: [10, 10, 10],
scale: [2, 2, 2],
};
appInstance.uniCall('setModelTransform', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型 ID |
| layerId | String | 模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。 |
| coordType | Number | xy 轴坐标模式 坐标类型(0:x 经度 y 纬度;1:x 米 y 米,相对世界 00 点) 目前该属性仅支持属性值为 0 |
| coordTypeZ | Number | z 轴坐标模式 坐标高度类型,单位:米(0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面) 目前该属性仅支持属性值为 0 |
| coord | Array | POI 点的坐标 lng,lat |
| coordZ | Number | 高度(单位:米) |
| rotation | Array | XYZ 三轴旋转度数(单位:度) |
| scale | Array | XYZ 三轴放缩倍数(单位:倍),对应场景发布时模型原始大小的缩放,将会覆盖 addModel 和其他 setModelTransform 等中的 scale 数值。 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
5. 设置模型基础变换 2
引入版本:3.2 起支持
功能描述
设置三维场景中模型的基础变换 2
调用方法
JavaScript
let jsonData = {
id: 'modelId',
layerId: 'layerId',
coordType: 0,
coordTypeZ: 0,
coordX: 114.560257,
coordY: 37.09079,
coordZ: 10,
rotationX: 20,
rotationY: 80,
rotationZ: 90,
scaleX: 0.1,
scaleY: 1,
scaleZ: 10,
duration: 1,
};
appInstance.uniCall('setModelTransform2', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| layerId | String | 模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。 |
| coordType | Number | xy 轴坐标模式 坐标类型(0:x 经度 y 纬度;1:x 米 y 米,相对世界 00 点) 目前该属性仅支持属性值为 0 |
| coordTypeZ | Number | z 轴坐标模式 坐标高度类型,单位:米(0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面) 目前该属性仅支持属性值为 0 |
| coordX | Number | X 轴坐标 // 如果 coordType: 0,表示经度,如果 coordType: 1,表示 X 米,相对世界 0,0 点 // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| coordY | Number | Y 轴坐标 // 如果 coordType: 0,表示纬度,如果 coordType: 1,表示 Y 米,相对世界 0,0 点 // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| coordZ | Number | Z 轴高度(单位:米) // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| rotationX | Number | X 轴旋转度数(单位:度) // 0 正北,值域 -360 ~ 360 // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| rotationY | Number | Y 轴旋转度数(单位:度) // 0 水平,值域 -360 ~ 360 // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| rotationZ | Number | Z 轴旋转度数(单位:度) // 0 水平,值域 -360 ~ 360 // 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| scaleX | Number | X 轴放缩倍数(单位:倍),对应场景发布时模型原始大小的缩放,将会覆盖 addModel 和其他 setModelTransform 等中的 scale 数值。1 为原始大小,值域 大于 0,如果小于 1 表示缩小,大于 1 表示放大,如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| scaleY | Number | Y 轴放缩倍数(单位:倍),对应场景发布时模型原始大小的缩放,将会覆盖 addModel 和其他 setModelTransform 等中的 scale 数值。1 为原始大小,值域 大于 0,如果小于 1 表示缩小,大于 1 表示放大, 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| scaleZ | Number | Z 轴放缩倍数(单位:倍),对应场景发布时模型原始大小的缩放,将会覆盖 addModel 和其他 setModelTransform 等中的 scale 数值。1 为原始大小,值域 大于 0,如果小于 1 表示缩小,大于 1 表示放大, 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| duration | Number | 持续时长(单位:秒),表示花费多少时间长度,变化到目标值,值域范围大于 0,可以是小数 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
6. 设置模型数据
引入版本:3.0 起支持
功能描述
设置三维场景中模型的数据
调用方法
JavaScript
let jsonData = {
id: 'building01',
coordType: 0,
coordTypeZ: 0,
coord: [113.93989639458, 22.5110484727475], //以深圳湾经纬度为例
coordZ: 100,
};
appInstance.uniCall('setModelCoord', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型 ID |
| coordType | Number | xy 轴坐标模式 坐标类型(0:x 经度 y 纬度;1:x 米 y 米,相对世界 00 点) 目前该属性仅支持属性值为 0 |
| coordTypeZ | Number | z 轴坐标模式 坐标高度类型,单位:米(0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面) 目前该属性仅支持属性值为 0 |
| coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| coordZ | Number | 高度(单位:米) |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
7. 设置模型样式
引入版本:3.0 起支持
功能描述
设置三维场景中模型的样式
调用方法
JavaScript
let jsonData = {
id: 'building01',
ids: ['modelId1', 'modelId2', 'modelId3'],
nodeId: 'nodeId',
layerId: 'layerId',
alpha: 1,
scale: 1,
maskType: 'picture',
maskAlpha: 0.3,
maskColor: '#ff0000',
maskPicture:
'https://www.tuguan.net/apiTester/scene/texture/backgroundImage.png',
maskPictureScale: 1.0,
maskFlowSpeed: 1.0,
maskFlowDirection: 180,
includeChildren: 'false',
xRay: 'off',
};
appInstance.uniCall('setModelStyle', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 模型 ID | 支持 | 支持 |
| ids | Array | 同时设置多个模型对象的样式,如果这个不为空,则会和 id 属性一起作用 | 支持 | 支持 |
| nodeId | String | 节点对象 Id,该属性不为空时,表示设置该节点的样式,无该属性或者该属性值为空时,表示设置模型样式 | 支持 | 不支持 |
| layerId | String | 模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象(只对 maskColor 有效)。 | 支持 | 支持 |
| alpha | Number | 模型透明度 | 支持 | 支持 |
| scale | Number | 半径(单位:米) | 支持 | 支持 |
| maskType | String | 模型遮罩样式类别,color:颜色遮罩;picture:图片遮罩;vertexColor:顶点颜色遮罩;none:无遮罩 | 支持 | 不支持 vertexColor |
| maskAlpha | Number | 遮罩透明度 | 支持 | 支持 |
| maskColor | String | 遮罩颜色(HEX 颜色值) | 支持 | 支持 |
| maskPicture | String | 图片枚举,内置,或指定资源 URL | 支持 | 支持 |
| maskPictureScale | Number | 图片贴图的比例 | 支持 | 支持 |
| maskFlowSpeed | Number | 遮罩贴图的流动速度系数 | 支持 | 支持 |
| maskFlowDirection | Number | 遮罩贴图 UV 流动方向角度, 0-360 度 | 支持 | 支持 |
| includeChildren | Number | 当前样式设置是否包含子节点,此功能可以实现例如控制子节点显隐的功能 | 支持 | 支持 |
| xRay | String | X 光样式(半透明效果,且不会被前方物体遮挡)开关,on:开启 X 光效果;off:关闭 X 光效果 | 支持 | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
8. 设置模型显隐
引入版本:3.3 起支持
功能描述
设置三维场景中模型的显隐
调用方法
JavaScript
let jsonData = {
ids: ['modelId1', 'modelId2', 'modelId3'],
layerId: 'layerId',
visible: true,
};
appInstance.uniCall('setModelVisibility', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| ids | Array | 模型对象 id 集合 |
| layerId | String | 模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。 |
| visible | Boolean | 模型需要设置显隐的状态,true: 显示,false:隐藏 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
9. 设置模型基础材质贴图
引入版本:3.3 起支持
功能描述
设置模型基础材质贴图
调用方法
JavaScript
let jsonData = {
id: 'modelId',
nodeId: 'nodeId',
texture: 'whitecross',
};
appInstance.uniCall('setModelMaterial', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| nodeId | String | 端对应模型节点 Id,流对应材质所在数组中的下标 |
| texture | String | 材质贴图名称,在场景中预置好的图片名称或外部图片 url |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
10. 获取类别模型
引入版本:3.0 起支持
功能描述
获取三维场景中类别模型
调用方法
JavaScript
let jsonData = {
modelType: 'building',
};
appInstance.uniCall('getModelsByType', jsonData, (result) => {
console.log(result);
});回调数据
JSON
{
"result": 1,
"message": "成功",
"type": "model",
"coordType": 0,
"coordTypeZ": 0,
"data": [
{
"id": "objId1",
"coord": [
114.560257,
37.09079
],
"coordZ": 10,
"rotation": [
20,
80,
90
],
"alpha": 0.5,
"scale": [
1,
1,
1
],
"visible": true
},
{
"id": "objId2",
"coord": [
114.560257,
37.09079
],
"coordZ": 10,
"rotation": [
20,
80,
90
],
"alpha": 0.5,
"scale": [
1,
1,
1
],
"visible": true
}
]
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
| type | String | 模型类型 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) |
| data | Array | 模型集合 |
| data[0].id | String | 模型 ID |
| data[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| data[0].coordZ | Number | Z 轴高度(单位:米) |
| data[0].rotation | Array | XYZ 三轴旋转度数 [偏航角(单位:角度,0 正北, -360 ~ 360), 俯仰角(单位:角度,0 水平, -360 ~ 360),翻滚角(单位:角度,0 水平, -360 ~ 360)] |
| data[0].alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| data[0].scale | Array | 模型沿 x,y,z 轴放缩倍数(单位:倍) |
| data[0].visible | Boolean | 添加当前模型是显示还是隐藏 |
11. 获取图层中的模型 端
引入版本:3.3.4 起支持
功能描述
获取图层中的模型
调用方法
JavaScript
let jsonData = {
layerId: 'layerId',
};
appInstance.uniCall('getModelsByLayer', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| layerId | String | 图层对象 id,调用者自己传入的唯一标识 |
回调数据
JSON
{
"result": 1,
"message": "成功。",
"coordType": 0,
"coordTypeZ": 0,
"data": [
{
"id": "objId1",
"type": "model",
"coord": [
114.560257,
37.09079
],
"coordZ": 10,
"rotation": [
20,
80,
90
],
"alpha": 0.5,
"scale": [
1,
1,
1
],
"visible": true
},
{
"id": "objId2",
"type": "model",
"coord": [
114.560257,
37.09079
],
"coordZ": 10,
"rotation": [
20,
80,
90
],
"alpha": 0.5,
"scale": [
1,
1,
1
],
"visible": true
}
],
"instanceData": [
{
"id": "objId3",
"type": "model",
"coord": [
114.560257,
37.09079
],
"coordZ": 10,
"rotation": [
20,
80,
90
],
"alpha": 0.5,
"scale": [
1,
1,
1
],
"visible": true
}
]
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) |
| data | Array | 模型子对象集合 |
| data[0].id | String | 模型子对象的场景内唯一 id |
| data[0].type | String | 分类, model 模型;icon 图标;papercut 剪影 |
| data[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| data[0].coordZ | Number | Z 轴高度(单位:米) |
| data[0].rotation | Array | XYZ 三轴旋转度数 [偏航角(单位:角度,0 正北, -360 ~ 360), 俯仰角(单位:角度,0 水平, -360 ~ 360),翻滚角(单位:角度,0 水平, -360 ~ 360)] |
| data[0].alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| data[0].scale | Array | 模型沿 x,y,z 轴放缩倍数(单位:倍) |
| data[0].visible | Boolean | 添加当前模型是显示还是隐藏 |
| instanceData | Array | 图层里引用类型的模型数据 |
| instanceData[0].id | String | 模型子对象的场景内唯一 id |
| instanceData[0].type | String | 分类, model 模型;icon 图标;papercut 剪影 |
| instanceData[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| instanceData[0].coordZ | Number | Z 轴高度(单位:米) |
| instanceData[0].rotation | Array | XYZ 三轴旋转度数 [ 偏航角(单位:角度,0 正北, -360 ~ 360), 俯仰角(单位:角度,0 水平, -360 ~ 360),翻滚角(单位:角度,0 水平, -360 ~ 360)] |
| instanceData[0].alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| instanceData[0].scale | Array | 模型沿 x,y,z 轴放缩倍数(单位:倍) |
| instanceData[0].visible | Boolean | 添加当前模型是显示还是隐藏 |
12. 开始剖分模型
引入版本:3.3.3 起支持
功能描述
开始剖分三维场景中的模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
modelType: 'model',
planePadding: [0, 0, 0, 0, 0, 0],
planeColor: '#ff0000',
planeStyle: 'style1',
};
appInstance.uniCall('setModelClipping', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 需要剖分的模型或者建筑 ID |
| modelType | String | 需要剖分的模型类型,可以是"model",或者"building" ,流渲染还支持剖分网格体,modelType 为 graphic |
| planePadding | Array | 剖分包围盒每个面相对于模型左、右、前、后、上、下的内间距(单位:米) |
| planeColor | String | 剖分包围盒或者线的颜色 |
| planeStyle | String | 剖分包围盒的样式,详见下表:剖分包围盒样式 |
回调数据
JSON
{
"result": 1,
"message": "成功进入模型剖分。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | message 为成功或失败消息(成功进入模型剖分。剖分失败,XXX 模型未找到。剖分失败,XXX 模型已经在剖分状态); |
13. 结束剖分模型
引入版本:3.3.3 起支持
功能描述
结束剖分三维场景中的模型
调用方法
JavaScript
appInstance.uniCall('clearModelClipping', {}, (result) => {
console.log(result);
});回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | message 为成功或失败消息; |
14. 添加模型 Tip
引入版本:3.0 起支持
功能描述
添加模型 Tip
调用方法
JavaScript
let jsonData = {
id: 'building01',
nodeId: 'nodeId',
url: 'https://www.tuguan.net/apiTester/scene/tip/model2-tip.html',
divId: 'tipDivId',
isShowClose: true,
is3D: false,
size: [330, 230],
offset: [0, 0],
rotation: [0, 0, 0],
canDrag: false,
showLine: false,
lineColor: '#ff0000',
lineWidth: 1,
lineStyle: 'solid',
};
appInstance.uniCall('addModelTip', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| nodeId | String | 节点对象 Id,该属性不为空时,表示在模型的这个节点上添加弹框,无该属性或者该属性值为空时,表示在模型上添加弹框 | 支持 | 不支持 |
| url | String | Tip 窗口页面地址 | 支持 | 支持 |
| divId | String | HTML 侧弹出标牌的 dom div id,如果这个不为"",url 属性不起作用 | 支持 | 支持 |
| isShowClose | Boolean | 是否显示右上角关闭按钮,默认显示关闭按钮 | 支持 | 支持 |
| is3D | Boolean | 是否是立体标牌,false:不是 3D 立体标牌,true:是。默认值 false。 | 支持 | 支持 |
| size | Array | Tip 窗口宽高 xy,x:窗口宽;y:窗口高(单位:像素) | 支持 | 支持 |
| offset | Array | Tip 左上角相对 对象中心点 偏移量 xy,x:为正,向右偏移;y:为正,向上偏移(单位:像素) | 支持 | 支持 |
| rotation | Array | Tip 中心点相对 对象中心点 旋转量 xyz,x:以 x 轴旋状,y:以 x 轴旋状,z:以 z 轴旋状(只有当立体标牌的时候有效)(单位:角度,0 到 360 度) | 支持 | 支持 |
| canDrag | Boolean | 是否可以拖拽标牌,默认 false,true: 可以拖拽,false: 不可以拖拽 | 支持 | 不支持 |
| showLine | Boolean | 是否显示标牌到模型中心点的连线,默认 false,true: 显示,false: 不显示 | 支持 | 不支持 |
| lineColor | String | 标牌连线颜色 | 支持 | 不支持 |
| lineWidth | Number | 标牌连线宽度 | 支持 | 不支持 |
| lineStyle | String | 标牌连线样式,"solid": 实线,"dashed": 虚线,"dotted":点线 | 支持 | 不支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
15. 移除模型 Tip
引入版本:3.1 起支持
功能描述
移除模型 Tip
调用方法
JavaScript
let jsonData = {
id: 'building01',
nodeId: 'nodeId',
};
appInstance.uniCall('removeModelTip', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| nodeId | String | 节点对象 Id,该属性不为空时,表示移除模型的节点的弹框,无该属性或者该属性值为空时,表示移除模型的弹框 | 支持 | 不支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
16. 持续旋转模型
引入版本:3.1 起支持
功能描述
持续旋转模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
durationX: 20,
durationY: 0,
durationZ: 0,
directionX: 'clockwise',
directionY: 'clockwise',
directionZ: 'clockwise',
};
appInstance.uniCall('rotatingModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| durationX | Number | X 轴旋转周期(单位:秒) |
| durationY | Number | Y 轴旋转周期(单位:秒) |
| durationZ | Number | Z 轴旋转周期(单位:秒) |
| directionX | String | X 轴旋转方向,clockwise:顺时针方向;counterclockwise:逆时针方向 |
| directionY | String | Y 轴旋转方向,clockwise:顺时针方向;counterclockwise:逆时针方向 |
| directionZ | String | Z 轴旋转方向,clockwise:顺时针方向;counterclockwise:逆时针方向 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
持续旋转模型端渲染效果
17. 设置模型持续旋转状态
引入版本:3.1 起支持
功能描述
设置模型持续旋转状态
调用方法
JavaScript
let jsonData = {
id: 'modelId',
state: 'stop',
};
appInstance.uniCall('setModelRotationState', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| state | String | 模型持续旋转状态,pause:暂停;continue:继续;stop:停止,回到初始状态 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
18. 持续闪烁模型
引入版本:3.1 起支持
功能描述
持续闪烁模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
duration: 0.5,
color: '#ff0000',
type: 'type01',
};
appInstance.uniCall('blinkingModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| duration | Number | 闪烁周期(单位:秒) |
| color | String | 闪烁颜色(HEX 颜色值) |
| type | String | 闪烁风格类别,详见下表:闪烁风格类别,default:默认风格 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
持续闪烁模型流渲染效果
持续闪烁模型端渲染效果
19. 设置模型持续闪烁状态
引入版本:3.1 起支持
功能描述
设置模型持续闪烁状态
调用方法
JavaScript
let jsonData = {
id: 'modelId',
state: 'stop',
};
appInstance.uniCall('setModelBlinkState', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| state | String | 模型持续闪烁状态,pause:暂停;continue:继续;stop:停止,回到初始状态 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
20. 持续移动模型
引入版本:3.1 起支持
功能描述
持续移动模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
coordType: 0,
coordTypeZ: 0,
loopMode: 'round',
reverse: false,
direction: 'path',
offset: [0, 0, 0],
points: [
{
coord: [113.9505886155735, 22.532255482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9496886155735, 22.529755482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9470886155735, 22.529755482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9491886155735, 22.528555482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9483886155735, 22.526055482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9503886155735, 22.527655482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9525886155735, 22.526055482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9517886155735, 22.528555482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9540886155735, 22.529755482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9512886155735, 22.529755482736806],
coordZ: 64,
speed: 120,
},
{
coord: [113.9505886155735, 22.532255482736806],
coordZ: 64,
speed: 120,
},
],
};
appInstance.uniCall('movingModel', 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 模型表面(单位:米) |
| loopMode | String | 循环模式,none:不循环;round:往返循环;repeat:从头循环 |
| reverse | Boolean | 是否沿路径反向移动,true:反向运动;false:正向运动 |
| direction | String | 沿路径调整方向,path:沿路径调整模型方向;self:模型自己原本方向不变 |
| offset | Array | 沿 XYZ 三轴向的偏移量(单位:米) |
| points[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 |
| points[0].coordZ | Number | Z 轴高度(单位:米) |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
持续移动模型端渲染效果
21. 设置模型持续移动状态
引入版本:3.1 起支持
功能描述
设置模型持续移动状态
调用方法
JavaScript
let jsonData = {
id: 'modelId',
state: 'stop',
};
appInstance.uniCall('setModelMoveState', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| state | String | 模型持续移动状态,pause:暂停;continue:继续;stop:停止,回到初始状态 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
22. 持续路径移动模型
引入版本:3.1 起支持
功能描述
持续路径移动模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
pathId: 'path',
loopMode: 'round',
reverse: false,
direction: 'path',
offset: [100, -30, 900],
speed: 2,
};
appInstance.uniCall('pathingModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| pathId | String | 路径图层对象 id |
| loopMode | String | 循环模式,none:不循环;round:往返循环;repeat:从头循环 |
| reverse | Boolean | 是否沿路径反向移动,true:反向运动;false:正向运动 |
| direction | String | 沿路径调整方向,path:沿路径调整模型方向;self:模型自己原本方向不变 |
| offset | Array | 沿 XYZ 三轴向的偏移量(单位:米) |
| speed | Number | 模型移动速度(单位:米/秒) |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
23. 设置模型持续路径移动状态
引入版本:3.1 起支持
功能描述
设置模型持续路径移动状态
调用方法
JavaScript
let jsonData = {
id: 'modelId',
state: 'stop',
};
appInstance.uniCall('setModelPathingState', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| modelId | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| state | String | 模型路径移动状态,pause:暂停;continue:继续;stop:停止,回到初始状态 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
24. 添加关系线
引入版本:3.3.3 起支持
功能描述
添加关系线
调用方法
JavaScript
let jsonData = {
id: "connectionId",
overlayType: "model",
idLayer: "layerId",
startOverlayType: "model",
startIdLayer: "startLayerId",
startIdObj:"objId1",
startOffset: [0, 0, 0],
endOverlayType: "model",
endIdLayer: "endLayerId",
endIdObj:"objId2",
endOffset: [0, 0, 0],
type: "ModelCylinder",
texture: "cableFlow.png",
textureSpeed: 0,
autoScale: false,
color: "#ff0000",
width: 10
shapeType: "straight",
curvature: 0.5,
angleOrder: "xyz",
label: "标题",
labelColor: "#ffffff",
labelBackgroundColor: "#333333",
labelFontSize: 20
};
appInstance.uniCall('addConnection', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 关系线对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| overlayType | String | 关系线开始和结束的对象或图层对象类型,如果这里不为空,则下方的 startOverlayType 和 endOverlayType 不起作用,目前支持的 overlayType:"model", "building", "modelTrailLayer",“modelLandmarkLayer“,“trailLayer“,"landmarkLayer", "landmark" |
| idLayer | String | 如果是图层对象的,需要在这里填写图层对象 id。如果这里不为空,则下方的 startIdLayer 和 endIdLayer 不起作用。 |
| startOverlayType | String | 关系线开始的对象或图层对象类型 |
| startIdLayer | String | 如果是图层对象的,关系线开始的对象所在图层 Id |
| startIdObj | String | 关系线开始的对象 ID |
| startOffset | Array | 开始位置相对于开始对象中心点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) |
| endOverlayType | String | 关系线结束的对象或图层对象类型 |
| endIdLayer | String | 如果是图层对象的,关系线结束的对象所在图层 Id |
| endIdObj | String | 关系线结束的对象 ID |
| endOffset | Array | 结束位置相对于结束对象中心点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) |
| type | String | 关系线样式类别,详见下表:样式类别,如果为:Model 开始的类型,会生成模型,并且使用贴图 |
| texture | String | 材质贴图名称,端支持所有类型,流只有当 type 为 Model 开始的类型才有效。端渲染:在场景中预置好的图片名称或外部图片 url,流渲染:服务器应用目录里的资源图片 |
| textureSpeed | Number | 材质贴图的 UV 动画速度,默认:0,0 为不运动,其他数值沿着路径模型方向前进,负数为反向 |
| autoScale | Boolean | 当不是 Model 类型的线时,线是否近大远小,false,镜头无论远近,看起来线一样大,true,镜头近线粗,镜头远线细 |
| color | String | 当不是 Model 类型的线时,线颜色,"" 颜色透明(HEX 颜色值);只有当 type 不为 Model 开始的类型,才有用。 |
| width | Number | 宽度(单位:米) |
| shapeType | String | 关系线的形状类型,"straight":默认直线,curvature 和 angle90 属性没有用;"curve",曲线,angleOrder 属性没有用;"angle90":三维直角线,curvature 属性没有用。 |
| curvature | Number | 当 shareType 属性是 curve 时,连线曲度调节(取值范围 -1 ~ 1, 0 为直线, 此值越接近 0 曲线越平, 反之曲线越陡峭) |
| angleOrder | String | 当 shareType 属性是 angle90 时,三维直角连线的连接顺序。"xyz"、"xzy"、"yzx"、"yxz"、"zxy"、"zyz",六种可能情况,默认是"xyz"的顺序 |
| label | String | 标签文本,如果为“”,则不显示标签 |
| labelColor | String | 标签文本颜色,可选值,默认白色 |
| labelBackgroundColor | String | 标签文本背景颜色,可选值,默认灰色 |
| labelFontSize | Number | 标签文本字体大小,数值越大,文字越大 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
type 枚举值
- Arrow01
- Arrow02
- Arrow03
- Arrow04
- Arrow05
- Arrow06
- Arrow07
- Segment01
- Segment02
- Segment03
- Segment04
- Segment05
- Segment06
- Segment07
- Segment08
- ModelCube
- ModelCylinder
25. 更新关系线数据
引入版本:3.3.3 起支持
功能描述
更新关系线数据
调用方法
JavaScript
let jsonData = {
id: 'connectionId',
overlayType: 'model',
idLayer: 'layerId',
startOverlayType: 'model',
startIdLayer: 'startLayerId',
startIdObj: 'objId1',
startOffset: [0, 0, 0],
endOverlayType: 'model',
endIdLayer: 'endLayerId',
endIdObj: 'objId2',
endOffset: [0, 0, 0],
label: '标题',
};
appInstance.uniCall('updateConnection', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 关系线对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| overlayType | String | 关系线开始和结束的对象或图层对象类型,如果这里不为空,则下方的 startOverlayType 和 endOverlayType 不起作用,目前支持的 overlayType:"model", "building", "modelTrailLayer",“modelLandmarkLayer“,“trailLayer“,"landmarkLayer", "landmark" |
| idLayer | String | 如果是图层对象的,需要在这里填写图层对象 id。如果这里不为空,则下方的 startIdLayer 和 endIdLayer 不起作用。 |
| startOverlayType | String | 关系线开始的对象或图层对象类型 |
| startIdLayer | String | 如果是图层对象的,关系线开始的对象所在图层 Id |
| startIdObj | String | 关系线开始的对象 ID |
| startOffset | Array | 开始位置相对于开始对象中心点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) |
| endOverlayType | String | 关系线结束的对象或图层对象类型 |
| endIdLayer | String | 如果是图层对象的,关系线结束的对象所在图层 Id |
| endIdObj | String | 关系线结束的对象 ID |
| endOffset | Array | 结束位置相对于结束对象中心点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) |
| label | String | 标签文本,如果为“”,则不显示标签 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
26. 更新关系线样式
引入版本:3.3.3 起支持
功能描述
更新关系线样式
调用方法
JavaScript
let jsonData = {
id: "connectionId",
type: "ModelCylinder",
texture: "cableFlow",
textureSpeed: 0,
color: "#ff0000",
width: 10
shapeType: "straight",
curvature: 0.5,
angleOrder: "xyz",
labelColor: "#ffffff",
labelBackgroundColor: "#333333",
labelFontSize: 20
};
appInstance.uniCall('updateConnectionStyle', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 关系线对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| type | String | 关系线样式类别,详见下表:样式类别,如果为:Model 开始的类型,会生成模型,并且使用贴图 |
| texture | String | 材质贴图名称,端支持所有类型,流只有当 type 为 Model 开始的类型才有效。端渲染:在场景中预置好的图片名称或外部图片 url,流渲染:服务器应用目录里的资源图片 |
| textureSpeed | Number | 材质贴图的 UV 动画速度,默认:0,0 为不运动,其他数值沿着路径模型方向前进,负数为反向 |
| color | String | 当不是 Model 类型的线时,线颜色,"" 颜色透明(HEX 颜色值);只有当 type 不为 Model 开始的类型,才有用。 |
| width | Number | 宽度(单位:米) |
| shapeType | String | 关系线的形状类型,"straight":默认直线,curvature 和 angle90 属性没有用;"curve",曲线,angleOrder 属性没有用;"angle90":三维直角线,curvature 属性没有用。 |
| curvature | Number | 当 shareType 属性是 curve 时,连线曲度调节(取值范围 -1 ~ 1, 0 为直线, 此值越接近 0 曲线越平, 反之曲线越陡峭) |
| angleOrder | String | 当 shareType 属性是 angle90 时,三维直角连线的连接顺序。"xyz"、"xzy"、"yzx"、"yxz"、"zxy"、"zyz",六种可能情况,默认是"xyz"的顺序 |
| labelColor | String | 标签文本颜色,可选值,默认白色 |
| labelBackgroundColor | String | 标签文本背景颜色,可选值,默认灰色 |
| labelFontSize | Number | 标签文本字体大小,数值越大,文字越大 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
27. 删除关系线
引入版本:3.2 起支持
功能描述
删除关系线
调用方法
JavaScript
let jsonData = {
id: 'connectionId',
};
appInstance.uniCall('removeModel', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |