Appearance
关系线操作
目录
1. 添加关系线
引入版本:3.3.3 起支持
功能描述
添加关系线
调用方法
JavaScript
let jsonData = {
id: 'connectionId',
overlayType: 'model',
idLayer: 'layerId',
startOverlayType: 'model',
startIdLayer: 'startLayerId',
startIdObj: 'objId1',
startIdNode: 'nodeId',
startOffset: [0, 0, 0],
endOverlayType: 'model',
endIdLayer: 'endLayerId',
endIdObj: 'objId2',
endIdNode: 'nodeId',
endOffset: [0, 0, 0],
type: 'ModelCylinder',
texture: 'cableFlow.png',
textureSpeed: 0,
autoScale: false,
color: '#ff0000',
width: 10,
shapeType: 'straight',
curvature: 0.5,
angleOrder: 'xyz',
tags: ['tag1', 'tag2', 'tag3'],
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 | 支持 | 支持 |
| startIdNode | String | 关系线开始的对象模型子节点 Id,如果为空则基于模型的中心点 | 支持 | 支持 |
| startOffset | Array | 开始位置相对于开始对象中心点或者子节点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) | 支持 | 支持 |
| endOverlayType | String | 关系线结束的对象或图层对象类型 | 支持 | 支持 |
| endIdLayer | String | 如果是图层对象的,关系线结束的对象所在图层 Id | 支持 | 支持 |
| endIdObj | String | 关系线结束的对象 ID | 支持 | 支持 |
| endIdNode | 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"的顺序 | 支持 | 支持 |
| tags | Array | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| 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
2. 更新关系线数据
引入版本:3.3.3 起支持
功能描述
更新关系线数据
调用方法
JavaScript
let jsonData = {
id: 'connectionId',
overlayType: 'model',
idLayer: 'layerId',
startOverlayType: 'model',
startIdLayer: 'startLayerId',
startIdObj: 'objId1',
startIdNode: 'nodeId',
startOffset: [0, 0, 0],
endOverlayType: 'model',
endIdLayer: 'endLayerId',
endIdObj: 'objId2',
endIdNode: 'nodeId',
endOffset: [0, 0, 0],
tags: ['tag1', 'tag2', 'tag3'],
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 | 支持 | 支持 |
| startIdNode | String | 关系线开始的对象模型子节点 Id,如果为空则基于模型的中心点 | 支持 | 支持 |
| startOffset | Array | 开始位置相对于开始对象中心点或者子节点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) | 支持 | 支持 |
| endOverlayType | String | 关系线结束的对象或图层对象类型 | 支持 | 支持 |
| endIdLayer | String | 如果是图层对象的,关系线结束的对象所在图层 Id | 支持 | 支持 |
| endIdObj | String | 关系线结束的对象 ID | 支持 | 支持 |
| endIdNode | String | 关系线结束的对象模型子节点 Id,如果为空则基于模型的中心点 | 支持 | 支持 |
| endOffset | Array | 结束位置相对于结束对象中心点或者子节点的相对自身坐标系 x, y, z 方向的上的偏移(单位:米) | 支持 | 支持 |
| tags | Array | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| label | String | 标签文本,如果为"",则不显示标签 | 支持 | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 更新关系线样式
引入版本: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 | 成功或者失败原因 |
4. 删除关系线
引入版本: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 | 成功或者失败原因 |