Appearance
区域操作
目录
1. 添加区域
引入版本:3.0 起支持
功能描述
在三维场景中添加区域
调用方法
JavaScript
let jsonData = {
id: 'Area',
name: '区域轮廓',
coordType: 0,
coordTypeZ: 0,
coordZ: 64,
type: 'Segment03',
color: '#00008C',
visible: true,
areaHeight: 150,
alpha: 0.5,
fillArea: 'Gradient01',
fillPosition: 'top',
tags: ['tag1', 'tag2', 'tag3'],
snapSurface: 0,
points: [
{
coord: [113.932972277122, 22.5162384306822], //以深圳湾经纬度为例
},
{
coord: [113.932983347671, 22.514890460642],
},
{
coord: [113.932790658042, 22.514048859528803],
},
{
coord: [113.932693841204, 22.5131870744529],
},
{
coord: [113.933379955599, 22.512650778028803],
},
{
coord: [113.934139934986, 22.512331311531202],
},
{
coord: [113.93616509967799, 22.511525295930003],
},
{
coord: [113.9377507465, 22.511224035491],
},
{
coord: [113.940118017752, 22.511357981712102],
},
{
coord: [113.940536191797, 22.513675990692203],
},
{
coord: [113.939164280402, 22.515482894893402],
},
{
coord: [113.936871753763, 22.516270680155102],
},
{
coord: [113.935265096016, 22.516362937964104],
},
{
coord: [113.934161647514, 22.516395121258903],
},
],
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('addArea', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| name | String | 图层名称,支持为图层自定义名称 | 支持 | 支持 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| coordZ | Number | 高度(单位:米) | 支持 | 支持 |
| type | String | 样式类型(具体类型参考下图 type 枚举值,端渲染暂不支持 Gradient01 Gradient04、Gradient05、Gradient06) | 支持 | 支持 |
| color | String | 轮廓颜色(HEX 颜色值) | 支持 | 支持 |
| alpha | String | 透明度,0:完全透明;1:完全不透明,默认值 1 | 支持 | 支持 |
| visible | Boolean | 添加当前图层时默认显示还是隐藏 | 支持 | 支持 |
| areaHeight | Number | 围栏高度(单位:米) | 支持 | 支持 |
| fillArea | String | 底部区域填充类型(具体类型参考下图 fillArea 枚举值) | 支持 | 支持 |
| fillPosition | String | 区域填充的位置,top/bottom,默认 top | 支持 | 支持 |
| tags | Anything | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| snapSurface | Number | 启用自动贴地,0:不贴地,1:自动贴地。默认值是 0。 | 不支持 | 支持 |
| points | Array | 定义区域边界 | 支持 | 支持 |
| points[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 | 支持 | 支持 |
| 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 | 成功或者失败原因 |
type 枚举值
- Arrow01
- Gradient01
- Gradient02
- Gradient03
- Gradient04
- Gradient05
- Gradient06
- Grid01
- Grid02
- Grid03
- Grid04
- Grid05
- Segment01
- Segment02
- Segment03
fillArea 枚举值
- Gradient01
- Gradient02
- Grid01
- Grid02
- Segment01
- Segment02
- Solid01
- Solid02
- Solid03
- Solid04
- Solid05
2. 更新区域数据
引入版本:3.0 起支持
功能描述
更新三维场景中添加区域的数据
调用方法
JavaScript
let jsonData = {
id: 'Area',
name: '区域轮廓',
coordType: 0,
coordTypeZ: 0,
coordZ: 60,
tags: ['tag1', 'tag2', 'tag3'],
points: [
{
coord: [113.932594990074, 22.5129032722295], //以深圳湾经纬度为例
},
{
coord: [113.93389227455, 22.5123657941925],
},
{
coord: [113.9351775197, 22.511649282162303],
},
{
coord: [113.934663360092, 22.50987636001],
},
{
coord: [113.933806597102, 22.509130063101402],
},
{
coord: [113.931797218959, 22.509946871271502],
},
{
coord: [113.932215577175, 22.5115070369119],
},
],
};
appInstance.uniCall('updateAreaCoord', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| name | String | 图层名称,支持为图层自定义名称 | 支持 | 支持 |
| coordType | Number | XY 轴坐标类别,0:X 经度,Y 纬度;1:X 米,Y 米,相对世界 00 点 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| coordTypeZ | Number | Z 轴坐标类别,0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面(单位:米) 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| coordZ | Number | 高度(单位:米) | 支持 | 支持 |
| tags | Anything | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| points | Array | 定义区域边界 | 支持 | 支持 |
| points[0].coord | Array | XY 轴坐标,X:经度;Y:纬度 | 支持 | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
3. 更新区域样式
引入版本:3.0 起支持
功能描述
更新三维场景中添加区域的样式
调用方法
JavaScript
let jsonData = {
id: 'Area',
type: 'Segment02',
color: '#FF0000',
alpha: 0.5,
areaHeight: 200,
fillArea: 'Grid01',
fillPosition: 'top',
snapSurface: 0,
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('updateAreaStyle', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| type | String | 区域边界样式类别 (具体类型参考上图 type 枚举值,端渲染暂不支持 Gradient01 Gradient04、Gradient05、Gradient06) | 支持 | 支持 |
| color | String | 轮廓颜色(HEX 颜色值) | 支持 | 支持 |
| alpha | String | 透明度,0:完全透明;1:完全不透明 | 支持 | 支持 |
| areaHeight | Number | 围栏高度(单位:米) | 支持 | 支持 |
| fillArea | String | 区域填充样式类别(具体类型参考上图 fillArea 枚举值) | 支持 | 支持 |
| fillPosition | String | 区域填充的位置,top/bottom,默认 top | 支持 | 支持 |
| snapSurface | Number | 启用自动贴地,0:不贴地,1:自动贴地。默认值是 0 | 不支持 | 支持 |
| 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.0 起支持
功能描述
删除区域
调用方法
JavaScript
let jsonData = {
id: 'Area',
overlayType: 'area',
};
appInstance.uniCall('removeOverlay', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 |
| overlayType | String | 图层对象类别 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |
5. 添加 Shp 区域
引入版本:3.1 起支持
功能描述
添加 Shp 区域(只能支持 EPSG:3857 和 EPSG:4326 两种坐标系的文件,如果 shp 中有多个多边形区域,只会加载第一个。)
调用方法
JavaScript
let jsonData = {
id: 'idArea',
name: 'layerName',
coordType: 0,
coordTypeZ: 0,
type: 'Arrow01',
color: '#ff0000',
areaHeight: 10,
fillArea: 'none',
alpha: 0.5,
fillPosition: 'top',
tags: ['tag1', 'tag2', 'tag3'],
shpPath: '',
dataRegion: 'first',
coordZ: 150,
};
appInstance.uniCall('addAreaShp', jsonData, (result) => {
console.log(result);
});参数描述
| 属性 | 类型 | 说明 | 端渲染 | 流渲染 |
|---|---|---|---|---|
| id | String | 图层对象 id,新建时调用者自己传入的唯一标识,用于各种操作的对象识别 | 支持 | 支持 |
| name | String | 图层名称,支持为图层自定义名称 | 支持 | 支持 |
| coordType | Number | xy 轴坐标模式 坐标类型(0:x 经度 y 纬度;1:x 米 y 米,相对世界 00 点) 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| coordTypeZ | Number | z 轴坐标模式 坐标高度类型,单位:米(0:相对 3D 世界 0 海拔;1:相对 3D 世界地表;2:相对 3D 模型表面) 目前该属性仅支持属性值为 0 | 支持 | 支持 |
| type | String | 样式类型(具体类型参考上图 type 枚举值,端渲染暂不支持 Gradient01 Gradient04、Gradient05、Gradient06) | 支持 | 支持 |
| color | String | 轮廓颜色(HEX 颜色值) | 支持 | 支持 |
| areaHeight | Number | 围栏高度(单位:米) | 支持 | 支持 |
| fillArea | String | 区域填充样式类别,详见下表:区域填充样式类别 | 支持 | 支持 |
| alpha | Number | 透明度,0:完全透明;1:完全不透明,默认值 1 | 支持 | 支持 |
| fillPosition | String | 区域填充的位置,top/bottom,默认 top | 支持 | 支持 |
| tags | Anything | 用户自定标签数组,用于保存用户的扩展数据,或者可以控制显隐 | 不支持 | 支持 |
| shpPath | String | shp 文件地址,端渲染,可以传入和 TGAPI.min.js 相对的 URL 路径,或者 URL 的绝对路径;流渲染,可以是本地 CustomShps 下的相对路径,根目录直接填 “test.shp”,如果是子文件夹填写"\test\test.shp",如果是在线地址,需填写完整的 URL,例如:"http://xxx.xx/xx/test.shp" | 支持 | 支持 |
| dataRegion | String | 值为 all 或者 first ,用于区分只加载第一条还是加载全部数据,默认值是 first | 支持 | 不支持 |
| coordZ | Number | 高度(单位:米) | 支持 | 支持 |
回调数据
JSON
{
"result": 1,
"message": "成功。"
}回调数据参数描述
| 属性 | 类型 | 说明 |
|---|---|---|
| result | Number | 1:代表成功;0:代表失败 |
| message | String | 成功或者失败原因 |