Appearance
模型基本操作
目录
- 1. 连接数据服务器
- 2. 断开数据服务器链接
- 3. 添加模型
- 4. 移除模型
- 5. 获取模型类别
- 6. 获取模型子节点
- 7. 设置模型基础变换
- 8. 设置模型基础变换 2
- 9. 设置模型数据
- 10. 设置模型样式
- 11. 设置模型显隐
- 12. 设置标签模型显隐
- 13. 设置模型基础材质贴图
- 14. 获取类别模型
- 15. 获取图层中的模型
- 16. 开始剖分模型
- 17. 结束剖分模型
- 18. 添加模型 Tip
- 19. 移除模型 Tip
1. 连接数据服务器
引入版本:4.0 起支持
功能描述
连接数据服务器
调用方法
JavaScript
let jsonData = {
name: "serverName"
address: "//dataserver.com/cim/webapi/v1/",
token: "ABCDEFG",
};
appInstance.uniCall('connectDataServer', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| name | String | 资产服务器名称 |
| address | String | 资产服务器地址 例如: http://ip:port/webapi |
| token | String | token |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
2. 断开数据服务器链接
引入版本:4.0 起支持
功能描述
断开数据服务器链接
调用方法
JavaScript
let jsonData = {
name: "serverName",
};
appInstance.uniCall('disconnectDataServer', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| name | String | 资产服务器名称 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 添加模型
引入版本:3.2 起支持
功能描述
添加模型
调用方法
JavaScript
let jsonData = {
id: 'modelId',
coordType: 0,
coordTypeZ: 0,
coord: [114.560257, 37.09079],
coordZ: 10,
tags: ['tag1', 'tag2', 'tag3'],
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',
modelSource: 'local',
};
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 轴高度(单位:米) | 支持 | 支持 |
| tags | Array | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| rotation | Array | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 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 | 模型类型,可以支持路径,如果在模型服务器上存放在子文件夹,需要写子文件夹名称例如:bus/carType01 | 支持 | 支持 |
| modelSource | String | 模型类型的位置参数:"local":场景内;"localFile":流渲染场景目录里 customModel;"localServer":流渲染服务器资产目录;“dataServer”:场景数据服务器资产(需要先使用 connectDataServer 成功连接到场景数据服务器);"addtionFile": 附加资产类型,使用场景服务编辑器添加到场景里的模型类型。 | 支持 local、dataServer | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
4. 移除模型
引入版本: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 | 成功或者失败原因 |
5. 获取模型类别
引入版本:3.3 起支持
功能描述
获取模型类别
调用方法
JavaScript
let jsonData = {};
appInstance.uniCall('getModelType', jsonData, (result) => {
console.log(result);
});回调数据
JSON
{
"result": 1,
"message": "成功。",
"modelType": ["typeName1", "typeName2", "typeName3"],
"modelTypeLocalFile": ["typeName1", "typeName2", "typeName3"],
"modelTypeLocalServer": ["typeName1", "typeName2", "typeName3"],
"modelTypeSystem": ["typeName1", "typeName2", "typeName3"],
"modelTypeAddition": ["typeName1", "typeName2", "typeName3"]
}回调数据参数描述
以下是按要求修改后的表格:
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| result | Number | 1:代表成功;0:代表失败 | 支持 | 支持 |
| message | String | 成功或者失败原因 | 支持 | 支持 |
| modelType | Array | 场景内模型定义清单 local | 支持 | 支持 |
| modelTypeLocalFile | Array | 场景目录里文件模型定义清单 localFile | 支持 | 支持 |
| modelTypeLocalServer | Array | 用户导入的图观模型服务器资产 | 支持 | 支持 |
| modelTypeSystem | Array | 流渲染服务器 内置的系统资产 | 不支持 | 支持 |
| modelTypeAddition | Array | 附加资产类型,使用场景服务编辑器添加到场景里的模型类型 | 不支持 | 支持 |
6. 获取模型子节点
引入版本:4.0 起支持
功能描述
获取模型子节点
调用方法
JavaScript
let jsonData = {
id: 'modelId',
layerId: 'layerId',
};
appInstance.uniCall('getModelSubNode', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 模型对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| layerId | String | 模型所属的图层 Id,Id 可以通过 getModelsByType 接口获得。如果这个为空,会在场景世界中查找并且设置第一个对应 Id 和 Ids 的对象,如果不为空,只会查找指定 layerId 图层内的匹配 Id 和 Ids 的模型对象。 |
回调数据
JSON
{
"result": 1,
"message": "成功。",
"id": "modelId",
"nodes": [
{
"id": "车轮组",
"nodes": [
{
"id": "前轮",
"nodes": []
},
{
"id": "后轮"
},
{
"id": "车门组",
"nodes": [
{
"id": "左门",
"nodes": [
{
"id": "左车窗"
},
{
"id": "左扶手"
}
]
},
{
"id": "右门",
"nodes": [
{
"id": "右车窗"
},
{
"id": "右扶手"
}
]
}
]
}
]
}
]
}回调数据参数描述
以下是按要求修改后的表格:
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
| id | String | 模型 ID |
| nodes | Array | 根节点 |
| nodes[0].id | String | 一级子节点名称 |
| nodes[0].nodes | Array | 二级子节点组 |
| nodes[0].nodes[0].id | Array | 二级子节点名称 |
| nodes[0].nodes[0].nodes | Array | 三节子节点组 如果当前节点没有子节点,数组为空或者不写 |
| nodes[0].nodes[0].nodes[0].id | String | 三级子节点名称 |
7. 设置模型基础变换
引入版本: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 | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360) |
| scale | Array | XYZ 三轴放缩倍数(单位:倍),对应场景发布时模型原始大小的缩放,将会覆盖 addModel 和其他 setModelTransform 等中的 scale 数值。 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
8. 设置模型基础变换 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 轴旋转,同 Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360~360)// 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| rotationY | Number | 沿 Y 轴旋转,同 Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360~360)// 如果值为 null,或者没有传递这个属性,则表示不发生改变 |
| rotationZ | Number | 沿 Z 轴旋转,同 Yaw 偏航(单位:角度,正南为 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 | 成功或者失败原因 |
9. 设置模型数据
引入版本:3.0 起支持
功能描述
设置三维场景中模型的数据
调用方法
JavaScript
let jsonData = {
id: 'building01',
coordType: 0,
coordTypeZ: 0,
coord: [113.93989639458, 22.5110484727475], //以深圳湾经纬度为例
coordZ: 100,
tags: ['tag1', 'tag2', 'tag3'],
};
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 | 高度(单位:米) | 支持 | 支持 |
| tags | Array | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
10. 设置模型样式
引入版本: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 | 成功或者失败原因 |
11. 设置模型显隐
引入版本: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 | 成功或者失败原因 |
12. 设置标签模型显隐 流
引入版本:4.0 起支持
功能描述
设置三维场景中模型的显隐
调用方法
JavaScript
let jsonData = {
tags: ['tags1', 'tags2', 'tags3'],
visible: true,
};
appInstance.uniCall('setModelTagsVisibility', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| tags | Array | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 |
| visible | Boolean | 模型需要设置显隐的状态,true: 显示,false:隐藏 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
13. 设置模型基础材质贴图
引入版本: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 | 成功或者失败原因 |
14. 获取类别模型
引入版本:3.0 起支持
功能描述
获取三维场景中类别模型
调用方法
JavaScript
let jsonData = {
modelType: 'building',
};
appInstance.uniCall('getModelsByType', jsonData, (result) => {
console.log(result);
});参数描述
| 参数 | 说明 | 值 | 类型 | 备注 | 端渲染 | 流渲染 |
|---|---|---|---|---|---|---|
| modelType | 模型类别 | model | String | 模型 | 支持 | 支持 |
| building | String | 建筑物 | 支持 | 支持 | ||
| connection | String | 关系线 | 支持 | 支持 | ||
| iconModel | String | 模型型号 | 支持 | 支持 | ||
| icon | String | 图标 | 支持 | 不支持 | ||
| layer | String | 图层 | 支持 | 不支持 | ||
| city | String | 城市 | 支持 | 不支持 | ||
| graphic | String | 图形 | 不支持 | 支持 | ||
| analysis | String | 分析 | 不支持 | 支持 |
回调数据
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 | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 0 度,模型前进方向的左手法则, 值域:-360 到 360) |
| data[0].alpha | Number | 透明度,0:完全透明;1:完全不透明 |
| data[0].scale | Array | 模型沿 x,y,z 轴放缩倍数(单位:倍) |
| data[0].visible | Boolean | 添加当前模型是显示还是隐藏 |
15. 获取图层中的模型 端
引入版本: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 | [Yaw、Pitch、Roll] Yaw 偏航(单位:角度,正南为 0 度,以天为正方向的左手法则, 值域:-360 到 360),Pitch 俯仰角(单位:角度,水平面模型前进方向为 0 度,前进方向左侧的左手法则, 值域:-360 到 360),Roll 翻滚角(单位:角度,水平面模型前进方向右侧为 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 | 添加当前模型是显示还是隐藏 |
16. 开始剖分模型
引入版本: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 模型已经在剖分状态); |
17. 结束剖分模型
引入版本:3.3.3 起支持
功能描述
结束剖分三维场景中的模型
调用方法
JavaScript
appInstance.uniCall('clearModelClipping', {}, (result) => {
console.log(result);
});回调数据
JSON
{ "result": 1, "message": "成功。" }回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | message 为成功或失败消息; |
18. 添加模型 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 | 成功或者失败原因 |
19. 移除模型 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 | 成功或者失败原因 |